Cette documentation a été traduite automatiquement par IA.
Le Logger
NocoBase propose un système de journalisation (logging) performant basé sur pino. Partout où vous avez accès à un context, vous pouvez obtenir une instance de logger via ctx.logger pour enregistrer les journaux essentiels lors de l'exécution d'un plugin ou du système.
Utilisation de base
Ces méthodes correspondent à différents niveaux de journalisation (du plus élevé au plus bas) :
Format des journaux
Chaque sortie de journal est au format JSON structuré et contient par défaut les champs suivants :
Exemple de sortie :
Liaison de contexte
ctx.logger injecte automatiquement des informations de contexte, telles que le plugin actuel, le module ou la source de la requête, permettant ainsi de tracer plus précisément l'origine des journaux.
Exemple de sortie (avec contexte) :
Logger personnalisé
Vous pouvez créer des instances de logger personnalisées dans vos plugins, en héritant ou en étendant les configurations par défaut :
Les loggers enfants héritent de la configuration du logger principal et y attachent automatiquement le contexte.
Hiérarchie des niveaux de journalisation
Les niveaux de journalisation de Pino suivent une définition numérique du plus élevé au plus bas, où les nombres plus petits indiquent une priorité plus faible.
Voici le tableau complet de la hiérarchie des niveaux de journalisation :
Pino n'affiche que les journaux dont le niveau est supérieur ou égal à la configuration level actuelle. Par exemple, lorsque le niveau de journalisation est info, les journaux debug et trace seront ignorés.
Bonnes pratiques pour le développement de plugins
-
Utilisez le logger de contexte
Utilisezctx.loggerdans les contextes de plugin, de modèle ou d'application pour inclure automatiquement les informations d'origine. -
Distinguez les niveaux de journalisation
- Utilisez
errorpour enregistrer les exceptions métier. - Utilisez
infopour enregistrer les changements d'état. - Utilisez
debugpour enregistrer les informations de débogage de développement.
- Utilisez
-
Évitez la journalisation excessive
Il est recommandé de n'activer les niveauxdebugettraceque dans les environnements de développement. -
Utilisez des données structurées
Passez des paramètres d'objet plutôt que de concaténer des chaînes de caractères, ce qui facilite l'analyse et le filtrage des journaux.
En suivant ces pratiques, les développeurs peuvent suivre plus efficacement l'exécution des plugins, résoudre les problèmes et maintenir un système de journalisation structuré et extensible.

