Ця документація була автоматично перекладена штучним інтелектом.
Система логування NocoBase побудована на базі Winston. За замовчуванням, NocoBase розділяє логи на логи запитів API, логи виконання системи та логи виконання SQL. Логи запитів API та логи виконання SQL генеруються всередині застосунку. Розробникам плагінів зазвичай потрібно логувати лише системні події, пов'язані з їхніми плагінами.
Цей документ пояснює, як створювати та друкувати логи під час розробки плагінів.
NocoBase надає методи для логування системних подій. Логи формуються відповідно до визначених полів і виводяться у вказані файли.
Усі вищезгадані методи використовують наступний синтаксис:
Перший параметр — це повідомлення логу, а другий — необов'язковий об'єкт метаданих, який може містити будь-які пари ключ-значення. При цьому module, submodule та method будуть виділені як окремі поля, а решта полів поміщені в поле meta.
Якщо ви бажаєте використовувати стандартний метод логування системи, але не хочете виводити логи у файл за замовчуванням, ви можете створити власний екземпляр системного логера за допомогою createSystemLogger.
Якщо ви не бажаєте використовувати системні методи логування, а хочете застосувати нативні методи Winston, ви можете створити логи наступними способами.
createLoggeroptions розширює оригінальний winston.LoggerOptions.
transports — використовуйте 'console' | 'file' | 'dailyRotateFile' для застосування попередньо налаштованих методів виведення.format — використовуйте 'logfmt' | 'json' | 'delimiter' для застосування попередньо налаштованих форматів логування.app.createLoggerУ сценаріях з кількома застосунками іноді виникає потреба у власних каталогах та файлах для виведення логів, які можуть бути розміщені в каталозі з назвою поточного застосунку.
plugin.createLoggerСценарій використання та метод ідентичні app.createLogger.