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

