Diese Dokumentation wurde automatisch von KI übersetzt.
Logger
NocoBase bietet ein leistungsstarkes Logging-System, das auf pino basiert. Überall dort, wo Sie Zugriff auf den context haben, können Sie eine Logger-Instanz über ctx.logger abrufen. Diese Instanz dient dazu, wichtige Logs während der Laufzeit von Plugins oder des Systems zu erfassen.
Grundlegende Verwendung
Diese Methoden entsprechen verschiedenen Log-Ebenen (von hoch nach niedrig):
Log-Format
Jede Log-Ausgabe erfolgt im strukturierten JSON-Format und enthält standardmäßig die folgenden Felder:
Beispielausgabe:
Kontextbindung
ctx.logger injiziert automatisch Kontextinformationen, wie das aktuelle Plugin, Modul oder die Request-Quelle. Dadurch können Logs präziser ihrer Herkunft zugeordnet werden.
Beispielausgabe (mit Kontext):
Benutzerdefinierter Logger
Sie können in Plugins benutzerdefinierte Logger-Instanzen erstellen, die die Standardkonfigurationen erben oder erweitern:
Child-Logger erben die Konfiguration des Haupt-Loggers und fügen automatisch den Kontext hinzu.
Hierarchie der Log-Ebenen
Pinos Log-Ebenen folgen einer numerischen Definition von hoch nach niedrig, wobei kleinere Zahlen eine geringere Priorität bedeuten.
Hier ist die vollständige Tabelle der Log-Ebenen-Hierarchie:
Pino gibt nur Logs aus, deren Ebene größer oder gleich der aktuell konfigurierten level-Ebene ist. Wenn die Log-Ebene beispielsweise info ist, werden debug- und trace-Logs ignoriert.
Best Practices in der Plugin-Entwicklung
-
Verwenden Sie den Kontext-Logger
Nutzen Siectx.loggerin Plugin-, Modell- oder Anwendungskontexten, um automatisch Quellinformationen mitzuführen. -
Unterscheiden Sie Log-Ebenen
- Verwenden Sie
error, um Geschäftsfehler zu protokollieren. - Verwenden Sie
info, um Statusänderungen zu erfassen. - Verwenden Sie
debug, um Debugging-Informationen für die Entwicklung aufzuzeichnen.
- Verwenden Sie
-
Vermeiden Sie übermäßige Protokollierung
Insbesondere auf dendebug- undtrace-Ebenen wird empfohlen, diese nur in Entwicklungsumgebungen zu aktivieren. -
Verwenden Sie strukturierte Daten
Übergeben Sie Objektparameter anstelle von verketteten Zeichenfolgen. Dies erleichtert die Log-Analyse und -Filterung.
Durch die Befolgung dieser Praktiken können Entwickler die Plugin-Ausführung effizienter verfolgen, Probleme beheben und die Struktur sowie Erweiterbarkeit des Logging-Systems gewährleisten.

