Diese Dokumentation wurde automatisch von KI übersetzt.
Die Protokollierung in NocoBase basiert auf Winston. Standardmäßig unterteilt NocoBase die Logs in API-Anfrage-Logs, Systemlaufzeit-Logs und SQL-Ausführungs-Logs. Während API-Anfrage-Logs und SQL-Ausführungs-Logs intern von der Anwendung protokolliert werden, müssen Plugin-Entwickler in der Regel nur die für ihre Plugins relevanten Systemlaufzeit-Logs protokollieren.
Dieses Dokument beschreibt, wie Sie beim Entwickeln von Plugins Logs erstellen und protokollieren.
NocoBase stellt Methoden zur Protokollierung von Systemlaufzeit-Logs bereit. Die Logs werden gemäß vordefinierten Feldern ausgegeben und in bestimmten Dateien gespeichert.
Alle oben genannten Methoden folgen der untenstehenden Verwendung:
Der erste Parameter ist die Log-Nachricht, und der zweite Parameter ist ein optionales Metadata-Objekt, das beliebige Schlüssel-Wert-Paare enthalten kann. Dabei werden module, submodule und method als separate Felder extrahiert, während die restlichen Felder im meta-Feld abgelegt werden.
Wenn Sie die Standard-Protokollierungsmethode des Systems verwenden, aber die Logs nicht in die Standarddatei ausgeben möchten, können Sie mit createSystemLogger eine benutzerdefinierte System-Logger-Instanz erstellen.
Wenn Sie anstelle der vom System bereitgestellten Methoden die nativen Methoden von Winston verwenden möchten, können Sie Logs mit den folgenden Methoden erstellen.
createLoggeroptions erweitert die ursprünglichen winston.LoggerOptions.
transports – Verwenden Sie 'console' | 'file' | 'dailyRotateFile', um vordefinierte Ausgabemethoden anzuwenden.format – Verwenden Sie 'logfmt' | 'json' | 'delimiter', um vordefinierte Protokollierungsformate anzuwenden.app.createLoggerIn Szenarien mit mehreren Anwendungen möchten wir manchmal benutzerdefinierte Ausgabe-Verzeichnisse und -Dateien, die in ein Verzeichnis mit dem Namen der aktuellen Anwendung ausgegeben werden können.
plugin.createLoggerDer Anwendungsfall und die Methode sind identisch mit app.createLogger.