Dit document is vertaald door AI. Voor onnauwkeurigheden, raadpleeg de Engelse versie
NocoBase-logging is gebaseerd op een wrapper rondom Winston. Standaard verdeelt NocoBase logs in API-verzoeklogs, systeemruntime-logs en SQL-uitvoerlogs. API-verzoeklogs en SQL-uitvoerlogs worden intern door de applicatie gegenereerd. Plugin-ontwikkelaars hoeven doorgaans alleen systeemruntime-logs te genereren die gerelateerd zijn aan hun plugin.
Dit document legt uit hoe u logs kunt aanmaken en afdrukken tijdens de ontwikkeling van plugins.
NocoBase biedt methoden voor het afdrukken van systeemruntime-logs. Logs worden afgedrukt volgens specifieke velden en opgeslagen in aangewezen bestanden.
Alle bovenstaande methoden volgen de onderstaande werkwijze:
De eerste parameter is het logbericht, en de tweede parameter is een optioneel metadata-object. Dit object kan willekeurige sleutel-waardeparen bevatten. Hierbij worden module, submodule en method als afzonderlijke velden geëxtraheerd, terwijl de overige velden in het meta-veld worden geplaatst.
Als u de standaard afdrukmethode van het systeem wilt gebruiken, maar de logs niet naar het standaardbestand wilt schrijven, kunt u een aangepaste systeemlogger-instantie aanmaken met createSystemLogger.
Als u de door het systeem geleverde afdrukmethode niet wilt gebruiken en liever de native methoden van Winston wilt toepassen, kunt u logs aanmaken met de volgende methoden.
createLoggeroptions breidt de originele winston.LoggerOptions uit.
transports - Gebruik 'console' | 'file' | 'dailyRotateFile' om vooraf ingestelde uitvoermethoden toe te passen.format - Gebruik 'logfmt' | 'json' | 'delimiter' om vooraf ingestelde afdrukformaten toe te passen.app.createLoggerIn scenario's met meerdere applicaties willen we soms aangepaste uitvoermappen en bestanden, die dan kunnen worden opgeslagen in een map die vernoemd is naar de huidige applicatie.
plugin.createLoggerHet gebruiksscenario en de werkwijze zijn hetzelfde als bij app.createLogger.