Sorties
Par défaut mime-logger écrit sur la console. Vous pouvez rediriger vers un fichier, une fonction personnalisée, ou toute combinaison.
Sortie console
Section intitulée « Sortie console »Par défaut. Aucune configuration requise :
const logger = new Logger("app");// équivalent à :const logger = new Logger("app", { output: "console" });Sortie fichier
Section intitulée « Sortie fichier »Passez un objet FileOutputOptions pour écrire dans un fichier. Le path supporte des tokens temporels afin que chaque exécution (ou chaque heure/jour) ait son propre fichier.
import Logger, { type FileOutputOptions } from "mime-logger";
const fileOut: FileOutputOptions = { type: "file", path: "./logs/app-{year}-{month}-{day}.log",};
const logger = new Logger("app", { output: fileOut });Tokens de chemin
Section intitulée « Tokens de chemin »| Champ | Type | Requis | Description |
|---|---|---|---|
{year} | string | optionnel | Année sur quatre chiffres, ex. 2025. |
{month} | string | optionnel | Mois sur deux chiffres, ex. 05. |
{day} | string | optionnel | Jour du mois sur deux chiffres. |
{date} | string | optionnel | Date ISO complète, ex. 2025-05-15. |
{hour} | string | optionnel | Heure sur deux chiffres (24 h). |
{minutes} | string | optionnel | Minutes sur deux chiffres. |
{seconds} | string | optionnel | Secondes sur deux chiffres. |
{ms} | string | optionnel | Millisecondes sur trois chiffres. |
Les flux de fichiers sont ouverts à la première écriture et restent ouverts pendant toute la durée du processus.
Fonction de sortie personnalisée
Section intitulée « Fonction de sortie personnalisée »Fournissez une fonction pour envoyer les lignes de log n’importe où — un collecteur distant, une file, un buffer en mémoire pour les tests, etc.
const logs: string[] = [];
const logger = new Logger("app", { output: (message, obj) => { logs.push(message); },});Signature du callback :
(message: string, obj: FormatObject) => voidmessage est la chaîne entièrement formatée (après exécution de format). obj est le
FormatObject brut si vous avez besoin des données structurées.
Sorties multiples
Section intitulée « Sorties multiples »Passez un tableau pour écrire vers plusieurs cibles simultanément :
import Logger, { Formats } from "mime-logger";
const logger = new Logger("app", { format: Formats.json, output: [ "console", { type: "file", path: "./logs/{year}-{month}-{day}.log" }, ],});Chaque cible reçoit le même message formaté.
