Все модули ядра Moleculer имеют пользовательский экземпляр логгер. Они унаследованы от экземпляра логгера брокера, который можно настроить в настройках брокера.
Версия
v0.14
содержит изменения, не совместимый с предыдущими версиями. Это означает, что вы не можете использовать старый способ настройки логирования. Это не относится к встроенному логгеру в консоль. Для получения дополнительной информации ознакомьтесь с Руководством по миграции.
Встроенные логгеры
Консоль (по умолчанию)
Этот логгер выводит все сообщения в консоль console
. Он поддерживает несколько встроенных форматов а так же пользовательский формат.
Простая конфигурация с настройками по умолчанию
// moleculer.config.js |
Полная конфигурация
// moleculer.config.js |
Функции форматирования
полный
формат (по умолчанию)
// moleculer.config.js |
Предпросмотр
короткий
формат
// moleculer.config.js |
Предпросмотр
простой
формат
// moleculer.config.js |
Предпросмотр
json
формат
// moleculer.config.js |
Предпросмотр
Пользовательский формат
// moleculer.config.js |
Предпросмотр
Файл
Этот логгер сохраняет все сообщения журнала в файл(ы). Он поддерживает JSON & форматированные текстовые файлы или можно использовать пользовательский формат.
Простая конфигурация с настройками по умлчанию
// moleculer.config.js |
Такая настройка сохранит сообщения журнала в папке журналов
в текущем каталоге с именем moleculer-{date}.log
.
Полная конфигурация
// moleculer.config.js |
Внешние логгеры
Pino
Этот логгер использует логгер Pino.
Простая конфигурация с настройками по умолчанию
// moleculer.config.js |
Полная конфигурация
// модуль moleculer.config.js |
Для использования этого логгера необходимо установить модуль
pino
командойnpm install pino --save
.
Предпросмотр
Bunyan
Этот логгер использует логгер Bunyan.
Простая конфигурация с настройками по умолчанию
// moleculer.config.js |
Полная конфигурация
// модуль moleculer.config.js |
Для использования этого логгера установите модуль
bunyan
с помощью командыnpm install bunyan --save
.
Предпросмотр
Winston
This logger uses the Winston logger.
Простая конфигурация с настройками по умолчанию
// moleculer.config.js |
Полная конфигурация
// moleculer.config.js |
To use this logger please install the
winston
module withnpm install winston --save
command.
Предпросмотр
debug
This logger uses the debug logger. To see messages you have to set the DEBUG
environment variable to export DEBUG=moleculer:*
.
Простая конфигурация с настройками по умолчанию
// moleculer.config.js |
Полная конфигурация
// moleculer.config.js |
To use this logger please install the
debug
module withnpm install debug --save
command.
Предпросмотр
Log4js
This logger uses the Log4js logger.
Простая конфигурация с настройками по умолчанию
// moleculer.config.js |
Полная конфигурация
// moleculer.config.js |
To use this logger please install the
log4js
module withnpm install log4js --save
command.
Предпросмотр
Datadog
This logger uploads log messages to the Datadog server.
Please note, this logger doesn’t print any messages to the console, just collects & uploads. Use it beside another logger which also prints the messages.
Простая конфигурация с настройками по умолчанию
// moleculer.config.js |
Полная конфигурация
// moleculer.config.js |
Предпросмотр
Multiple Loggers
This new logger configuration admits usage of multiple loggers even from the same logger type and different logging levels.
Define multiple loggers with different logging levels
// moleculer.config.js |
This example shows a configuration of Console
logger, a File
logger that saves all log messages in formatted text file and another File
logger that only saves error messages in JSON format.
Filtering
You can configure your loggers to only log data of certain services or modules. Example
// moleculer.config.js |
Log Level Setting
To configure logging levels, you can use the well-known logLevel
broker option which can be a String
or an Object
. However, it is also possible to overwrite it in all logger options
with the level
property.
Complex logging level configuration
// moleculer.config.js |
Custom logger
If you have your custom logger you should wrap it into a BaseLogger
class and implement at least the getLogHandler
method.
Using a custom logger
// moleculer.config.js |