Signatur
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
undefined).Beispiele
Einfache Statusmeldung
const version = '2.4.1';
console.info('App gestartet, Version', version);
Platzhalter für Strings und Zahlen
const user = 'Anna';
const items = 3;
console.info('Benutzer %s hat %d Artikel im Warenkorb.', user, items);
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();
Gestaltete Ausgabe mit %c und Objekt
const config = { api: '/v1', debug: false, timeout: 5000 };
console.info('%cKonfiguration geladen', 'color: #0a7; font-weight: bold;', config);
// 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 mitconsole.log()und schreibt nachstdout. Die Stufe wird nicht unterschieden. Für echte Log-Level solltest du eine Logging-Bibliothek wiepinooderwinstonverwenden. - 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)oderJSON.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_consolein Terser, oder kapsle sie in einem eigenen Logger. %c(CSS-Gestaltung) funktioniert nur in Browser-Konsolen, nicht im Node.js-Terminal.