Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
Encapsulamento de logs baseado no pino, fornecendo logs JSON estruturados de alto desempenho. Recomenda-se o uso de ctx.logger em vez de console para facilitar a coleta e análise de logs.
O ctx.logger pode ser usado em todos os cenários de RunJS para depuração, rastreamento de erros, análise de desempenho, etc.
ctx.logger é uma instância de engine.logger.child({ module: 'flow-engine' }), ou seja, um logger filho do pino com um contexto de module.
O pino suporta os seguintes níveis (do mais alto para o mais baixo):
| Nível | Método | Descrição |
|---|---|---|
fatal | ctx.logger.fatal() | Erro fatal, geralmente leva ao encerramento do processo |
error | ctx.logger.error() | Erro, indica que uma requisição ou operação falhou |
warn | ctx.logger.warn() | Aviso, indica riscos potenciais ou situações anômalas |
info | ctx.logger.info() | Informações gerais de tempo de execução |
debug | ctx.logger.debug() | Informações de depuração, usadas durante o desenvolvimento |
trace | ctx.logger.trace() | Rastreamento detalhado, usado para diagnósticos profundos |
Recomenda-se o formato level(msg, meta): a mensagem primeiro, seguida por um objeto de metadados opcional.
O pino também suporta level(meta, msg) (objeto primeiro) ou level({ msg, ...meta }) (objeto único), que podem ser usados conforme a necessidade.
Recomenda-se usar o ctx.logger diretamente para obter logs JSON estruturados. Se você estiver acostumado a usar o console, as correspondências são: console.log → ctx.logger.info, console.error → ctx.logger.error, console.warn → ctx.logger.warn.
O pino gera JSON estruturado, onde cada entrada de log contém:
level: Nível do log (numérico)time: Timestamp (milissegundos)msg: Mensagem de logmodule: Fixo como flow-enginechild() também seguem a recomendação de escrita level(msg, meta).