Aller au contenu

Loggers enfants

Les loggers enfants permettent de créer des sous-loggers scoped qui partagent les options du parent (format, sorties) tout en portant leur propre segment de nom.

const app = new Logger("app");
const db = app.child("database");
const query = db.child("query");
app.info("Starting");
db.info("Connected");
query.info("SELECT users");
Child loggers output
child(name: string): MimeLogger

Retourne une nouvelle instance MimeLogger. Le nom de l’enfant est parent/enfant. Si le parent n’a pas de nom, le nom de l’enfant est simplement name.

Les noms sont joints avec /, formant un fil d’Ariane :

parent → "server"
parent.child(a) → "server/http"
parent.child(b) → "server/db"
http.child(c) → "server/http/middleware"

Cela facilite le filtrage de la sortie de log par préfixe dans n’importe quel agrégateur.

Les enfants héritent du format et de l’output du parent. Vous pouvez les remplacer par enfant en passant opts directement à un nouveau MimeLogger :

import Logger, { Formats } from "mime-logger";
const app = new Logger("app", { format: Formats.json });
// hérite du format JSON
const db = app.child("database");
// remplace par pretty pour cet enfant uniquement
const debug = new Logger("app/debug", { format: Formats.pretty });