Esta documentação foi traduzida automaticamente por IA.
Logger
O NocoBase oferece um sistema de logs de alta performance baseado no pino. Em qualquer lugar onde você tiver acesso ao context, você pode obter uma instância do logger através de ctx.logger para registrar logs importantes durante a execução de um plugin ou do sistema.
Uso Básico
Esses métodos correspondem a diferentes níveis de log (do mais alto para o mais baixo):
Formato do Log
Cada saída de log está no formato JSON estruturado, contendo os seguintes campos por padrão:
Saída de exemplo:
Vinculação de Contexto
ctx.logger injeta automaticamente informações de contexto, como o plugin atual, módulo ou origem da requisição, permitindo que os logs rastreiem a fonte com mais precisão.
Saída de exemplo (com contexto):
Logger Personalizado
Você pode criar instâncias de logger personalizadas em plugins, herdando ou estendendo as configurações padrão:
Loggers filhos herdam a configuração do logger principal e anexam automaticamente o contexto.
Hierarquia de Níveis de Log
Os níveis de log do Pino seguem uma definição numérica do mais alto para o mais baixo, onde números menores indicam menor prioridade. Abaixo está a tabela completa da hierarquia de níveis de log:
O Pino só exibirá logs maiores ou iguais à configuração de level atual. Por exemplo, quando o nível de log for info, os logs de debug e trace serão ignorados.
Boas Práticas no Desenvolvimento de Plugins
-
Use o Logger de Contexto Use
ctx.loggerem contextos deplugin, modelo ou aplicativo para que as informações de origem sejam automaticamente incluídas. -
Diferencie os Níveis de Log
- Use
errorpara registrar exceções de negócio - Use
infopara registrar mudanças de status - Use
debugpara registrar informações de depuração de desenvolvimento
- Use
-
Evite Logs Excessivos Especialmente nos níveis
debugetrace, é recomendado ativá-los apenas em ambientes de desenvolvimento. -
Use Dados Estruturados Passe parâmetros de objeto em vez de concatenar strings, o que ajuda na análise e filtragem de logs.
Ao seguir essas práticas, os desenvolvedores podem rastrear a execução de plugins com mais eficiência, solucionar problemas e manter um sistema de logs estruturado e extensível.

