JSON Logger
NestJS 🟡 MidDéfinition
Le ConsoleLogger de NestJS peut émettre des logs structures en JSON via l'option json: true passée a son constructeur ou a NestFactory.create(). Chaque ligne devient un objet JSON exploitable par des agregateurs comme Datadog ou Elasticsearch, la colorisation étant désactivée automatiquement pour garder un JSON valide.
Analogie
Comme remplacer un rapport manuscrit par un formulaire a cases : chaque champ (niveau, message, contexte) est identifiable sans relecture humaine.
Exemple de code
const app = await NestFactory.create(AppModule, {
logger: new ConsoleLogger({ json: true }),
});
// Sortie :
// {"level":"log","pid":123,"timestamp":169...,
// "message":"Starting Nest application...","context":"NestFactory"}
Cas d'usage
Envoyer les logs applicatifs vers un système d'observabilite (CloudWatch, Datadog, ELK) sans parser du texte libre.
Anti-pattern
Termes liés
En entretien
Pourquoi activer json: true sur le ConsoleLogger de NestJS ?
Ça permet d'émettre des logs structurés en JSON, exploitables par des agrégateurs comme Datadog ou Elasticsearch, la colorisation étant désactivée automatiquement pour garder un JSON valide. C'est essentiel pour envoyer les logs applicatifs vers un système d'observabilité sans parser du texte libre.
Quel anti-pattern en production faut-il éviter avec les logs ?
Garder le format texte coloré en production, ce qui oblige les agrégateurs à parser des chaînes non structurées au lieu de champs identifiables. Le JSON Logger règle ce problème dès la source.
Dans l'actu
- 28/09 NestJS 12.1.1 corrige le logger (sortie JSON, niveaux, logs fatal et bufferisés) et détecte les dépendances circulaires impliquant plus de deux providers. Semaine 40 (1re moitié) · 28 – 30 septembre 2026 →
Fiche mise à jour le 2026-09-27