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.14
conté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
pino
com 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
bunyan
com 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
winston
com 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
debug
com 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
log4js
com 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 |