Эта документация была автоматически переведена ИИ.
Журналирование в NocoBase основано на Winston. По умолчанию NocoBase разделяет логи на журналы запросов API, журналы работы системы и журналы выполнения SQL-запросов. Журналы запросов API и выполнения SQL-запросов генерируются внутри приложения. Разработчикам плагинов обычно требуется выводить только системные журналы, относящиеся к их плагинам.
В этом документе мы расскажем, как создавать и выводить логи при разработке плагинов.
NocoBase предоставляет методы для вывода системных журналов. Логи выводятся в соответствии с заданными полями и сохраняются в указанные файлы.
Все перечисленные выше методы используются следующим образом:
Первый параметр — это сообщение лога, а второй — необязательный объект метаданных. Он может содержать любые пары ключ-значение. При этом module, submodule и method будут извлечены как отдельные поля, а остальные поля будут помещены в поле meta.
Если вы хотите использовать системный метод вывода логов по умолчанию, но при этом сохранять их не в стандартный файл, вы можете создать собственный экземпляр системного логгера с помощью createSystemLogger.
Если вы предпочитаете использовать нативные методы Winston вместо системных, вы можете создавать логи следующими способами.
createLoggerОбъект options расширяет оригинальный winston.LoggerOptions.
transports — Используйте 'console' | 'file' | 'dailyRotateFile', чтобы применить предустановленные методы вывода.format — Используйте 'logfmt' | 'json' | 'delimiter', чтобы применить предустановленные форматы вывода.app.createLoggerВ сценариях с несколькими приложениями иногда требуется настроить собственные каталоги и файлы для вывода логов, например, чтобы они сохранялись в каталог с именем текущего приложения.
plugin.createLoggerСценарий использования и метод аналогичны app.createLogger.