Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
ctx.logger
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.
Cenários de uso
O ctx.logger pode ser usado em todos os cenários de RunJS para depuração, rastreamento de erros, análise de desempenho, etc.
Definição de tipo
ctx.logger é uma instância de engine.logger.child({ module: 'flow-engine' }), ou seja, um logger filho do pino com um contexto de module.
Níveis de log
O pino suporta os seguintes níveis (do mais alto para o mais baixo):
Escrita recomendada
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.
Exemplos
Uso básico
Usando child() para criar um logger filho
Relação com o console
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.
Formato de log
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 comoflow-engine- Outros campos personalizados (passados via objetos)
Observações
- Os logs são JSON estruturados, facilitando a coleta, pesquisa e análise.
- Loggers filhos criados via
child()também seguem a recomendação de escritalevel(msg, meta). - Alguns ambientes de execução (como fluxos de trabalho) podem usar métodos de saída de log diferentes.
Relacionado
- pino — Biblioteca de log subjacente

