Todos os módulos principais do Moleculer têm uma instância de logger personalizada. Elas são herdadas da instância do broker que pode ser configurada nas opções do broker.
A versão
v0.14contém alterações significativas. Isso significa que você não pode usar a maneira antiga de configurar o logger. Se você estiver usando o logger padrão do console, esta mudança não afeta você. Para mais informações verifique o Guia de Migração.
Loggers integrados
Console (padrão)
Este logger imprime todas as mensagens de log no console. Ele suporta vários formatadores integrados ou você pode usar o seu formatador personalizado.
Configuração abreviada com opções padrão
// moleculer.config.js |
Configuração completa
// moleculer.config.js |
Formatadores
Formatador full (default)
// moleculer.config.js |
Pré visualizar 
Formatador short
// moleculer.config.js |
Pré visualizar 
Formatador simple
// moleculer.config.js |
Pré visualizar 
Formatador json
// moleculer.config.js |
Pré visualizar 
Formatador personalizado
// moleculer.config.js |
Pré visualizar 
File
Este logger salva todas as mensagens de log em arquivo(s). Ele suporta JSON & arquivos de texto formatados ou você pode usar o seu formatador personalizado.
Configuração abreviada com opções padrão
// moleculer.config.js |
Ele salvará as mensagens de log na pasta logs no diretório atual com nome do arquivo molleculer -{date}.log.
Configuração completa
// moleculer.config.js |
Loggers Externos
Pino
Este logger usa o logger Pino.
Configuração abreviada com opções padrão
// moleculer.config.js |
Configuração completa
// moleculer.config.js |
Para usar este logger por favor instale o módulo
pinocom o comandonpm install pino --save.
Pré visualizar 
Bunyan
Este logger usa o logger Bunyan.
Configuração abreviada com opções padrão
// moleculer.config.js |
Configuração completa
// moleculer.config.js |
Para usar esse logger por favor instale o módulo
bunyancom o comandonpm install bunyan --save.
Pré visualizar 
Winston
Este logger usa o logger Winston.
Configuração abreviada com opções padrão
// moleculer.config.js |
Configuração completa
// moleculer.config.js |
Para usar esse logger por favor instale o módulo
winstoncom o comandonpm install winston --save.
Pré visualizar 
debug
Este logger usa o debug. Para ver mensagens você tem que definir a variável de ambiente DEBUG para export DEBUG=moleculer:*.
Configuração abreviada com opções padrão
// moleculer.config.js |
Configuração completa
// moleculer.config.js |
Para usar esse logger por favor instale o módulo
debugcom o comandonpm install debug --save.
Pré visualizar 
Log4js
Este logger usa o logger Log4js.
Configuração abreviada com opções padrão
// moleculer.config.js |
Configuração completa
// moleculer.config.js |
Para usar esse logger por favor instale o módulo
log4jscom o comandonpm install log4js --save.
Pré visualizar 
Datadog
Este logger envia mensagens de log para o servidor do Datadog.
Por favor, note que este logger não imprime nenhuma mensagem para o console, apenas coleta & envia. Use junto com outro logger que também imprime as mensagens.
Configuração abreviada com opções padrão
// moleculer.config.js |
Configuração completa
// moleculer.config.js |
Pré visualizar 
Vários loggers
Esta nova configuração de logger admite o uso de vários loggers até do mesmo tipo de logger com níveis de log diferentes.
Define múltiplos loggers com diferentes níveis de logs
// moleculer.config.js |
Este exemplo mostra uma configuração do logger Console, um logger File que salva todas as mensagens de log no arquivo de texto formatado e outro Logger File que só salva as mensagens de erro no formato JSON.
Filtro
Você pode configurar seus loggers para registrar apenas dados de certos serviços ou módulos. Exemplo
// moleculer.config.js |
Configuração de Nível de Log
Para configurar níveis de log, você pode usar a famosa opção logLevel que pode ser uma String ou um Object. No entanto, também é possível substituí-lo em options do logger com a propriedade level.
Configuração complexa de nível de log
// moleculer.config.js |
Logger personalizado
Se você tiver seu logger personalizado, deverá envolvê-lo em uma classe BaseLogger e implementar pelo menos o método getLogHandler.
Usando um logger personalizado
// moleculer.config.js |