Cette documentation a été traduite automatiquement par IA.
La journalisation NocoBase est basée sur Winston. Par défaut, NocoBase catégorise les journaux en journaux de requêtes API, journaux d'exécution système et journaux d'exécution SQL. Les journaux de requêtes API et d'exécution SQL sont générés en interne par l'application. Les développeurs de plugins n'ont généralement besoin d'enregistrer que les journaux d'exécution système liés à leurs plugins.
Ce document explique comment créer et enregistrer des journaux lors du développement de plugins.
NocoBase met à votre disposition des méthodes pour enregistrer les journaux d'exécution système. Ces journaux sont formatés selon des champs prédéfinis et sont écrits dans des fichiers spécifiques.
Toutes les méthodes ci-dessus suivent l'utilisation suivante :
Le premier paramètre est le message du journal. Le second est un objet metadata facultatif, qui peut contenir n'importe quelle paire clé-valeur. Les champs module, submodule et method seront extraits comme des champs distincts, tandis que les autres champs seront regroupés dans le champ meta.
Si vous souhaitez utiliser la méthode d'enregistrement par défaut du système, mais que vous ne voulez pas que les journaux soient écrits dans le fichier par défaut, vous pouvez créer une instance de logger système personnalisée à l'aide de createSystemLogger.
Si vous préférez utiliser les méthodes natives de Winston plutôt que celles fournies par le système, vous pouvez créer des journaux en utilisant les méthodes suivantes.
createLoggerL'objet options étend les winston.LoggerOptions originales.
transports - Vous pouvez utiliser 'console' | 'file' | 'dailyRotateFile' pour appliquer les méthodes de sortie prédéfinies.format - Vous pouvez utiliser 'logfmt' | 'json' | 'delimiter' pour appliquer les formats d'enregistrement prédéfinis.app.createLoggerDans les scénarios multi-applications, il est parfois utile de personnaliser les répertoires et fichiers de sortie. Vous pouvez alors enregistrer les journaux dans un répertoire portant le nom de l'application courante.
plugin.createLoggerLe cas d'utilisation et la méthode sont identiques à ceux de app.createLogger.