Start · Sprachen · JavaScript · Referenz · console.info()

console.info()

Methode

Die statische Methode <code>console.info()</code> gibt eine Nachricht auf dem Log-Level „info“ in der Konsole aus.

seit JavaScript Baseline: alle Browser; Node.js 0.1+ Kategorie: webapi

Signatur

console.info(val1, /* …, */ valN) / console.info(msg, subst1, /* …, */ substN)

Beschreibung

console.info() schreibt eine Nachricht auf dem Log-Level „info“ in die Konsole. Sinnvoll ist das für Statusmeldungen, die über reines Debugging hinausgehen, aber keine Warnungen oder Fehler sind, etwa „Service Worker registriert“, „Konfiguration geladen“ oder „Verbindung hergestellt“.

In den Entwicklerwerkzeugen der Browser lassen sich Konsolenausgaben nach Log-Level filtern. Info-Meldungen erscheinen nur, wenn die Konsole für diese Stufe eingestellt ist. Manche Browser zeigen daneben ein kleines „i“-Symbol an. In Chrome und Edge gehören Info-Meldungen zur Stufe „Info“, in Firefox erscheinen sie mit eigenem Symbol. In Node.js ist console.info() ein Alias für console.log() und schreibt nach stdout.

Die Methode verhält sich genauso wie console.log(). Du kannst beliebig viele Werte übergeben, und sie werden nacheinander ausgegeben. Ist das erste Argument ein String, darf er Platzhalter wie %s, %d, %i, %f, %o, %O und %c enthalten. Diese werden der Reihe nach durch die folgenden Argumente ersetzt. Mit %c kannst du die Ausgabe im Browser per CSS gestalten.

Parameter

Name Typ Default Beschreibung
$val1 … valN any Beliebige JavaScript-Werte, die der Reihe nach ausgegeben werden, getrennt durch Leerzeichen. Objekte und Arrays erscheinen im Browser als aufklappbare Darstellung.
$msg string Ein String mit null oder mehr Platzhaltern (%s, %d/%i, %f, %o, %O, %c). Sie werden der Reihe nach durch subst1 … substN ersetzt.
$subst1 … substN any Werte, die in die Platzhalter von msg eingesetzt werden. Überzählige Werte werden wie bei val1 … valN einfach angehängt.

Rückgabewert

Typ
void
Beschreibung
Kein Rückgabewert (undefined).

Beispiele

Einfache Statusmeldung

const version = '2.4.1';
console.info('App gestartet, Version', version);
App gestartet, Version 2.4.1

Platzhalter für Strings und Zahlen

const user = 'Anna';
const items = 3;
console.info('Benutzer %s hat %d Artikel im Warenkorb.', user, items);
Benutzer Anna hat 3 Artikel im Warenkorb.

Service-Worker-Registrierung protokollieren

const registerSW = async () => {
  if (!('serviceWorker' in navigator)) return;
  try {
    const reg = await navigator.serviceWorker.register('/sw.js');
    console.info('Service Worker registriert, Scope: %s', reg.scope);
  } catch (err) {
    console.error('Registrierung fehlgeschlagen:', err);
  }
};
registerSW();
Service Worker registriert, Scope: https://example.com/

Gestaltete Ausgabe mit %c und Objekt

const config = { api: '/v1', debug: false, timeout: 5000 };
console.info('%cKonfiguration geladen', 'color: #0a7; font-weight: bold;', config);
Konfiguration geladen {api: '/v1', debug: false, timeout: 5000}

// Wichtig · Fallstricke

  • Filter der Konsole: Ist die Stufe „Info“ in den Entwicklerwerkzeugen ausgeblendet, sind die Meldungen nicht zu sehen. Chrome fasst Info und Log in manchen Versionen zusammen.
  • Node.js: console.info() ist identisch mit console.log() und schreibt nach stdout. Die Stufe wird nicht unterschieden. Für echte Log-Level solltest du eine Logging-Bibliothek wie pino oder winston verwenden.
  • Live-Objekte: Browser werten Objekte oft erst beim Aufklappen aus. Dann siehst du den aktuellen Zustand statt des Zustands zum Zeitpunkt der Ausgabe. Abhilfe: structuredClone(obj) oder JSON.stringify(obj) ausgeben.
  • Produktion: Konsolenausgaben können sensible Daten wie Tokens oder Nutzerdaten preisgeben und bei vielen Aufrufen die Leistung beeinträchtigen. Entferne sie im Build, etwa mit der Option drop_console in Terser, oder kapsle sie in einem eigenen Logger.
  • %c (CSS-Gestaltung) funktioniert nur in Browser-Konsolen, nicht im Node.js-Terminal.