Pular para o conteúdo principal
A integração do NestJS com o ClickStack permite criar um logger ou usar o logger padrão para enviar logs ao ClickStack (com tecnologia do nest-winston). Este guia integra:
✅ Logs✖️ Métricas✖️ Traces
Para enviar métricas ou APM/traces, você também precisará adicionar à sua aplicação a integração correspondente da linguagem.

Primeiros passos

Importe HyperDXNestLoggerModule no AppModule principal e use o método forRoot() para configurá-lo.
Depois, a instância do winston ficará disponível para ser injetada em todo o projeto usando o token de injeção HDX_LOGGER_MODULE_PROVIDER:

Substituindo o logger do Nest (também durante o bootstrap)

ImportanteAo fazer isso, você abre mão da injeção de dependências, o que significa que forRoot e forRootAsync não são necessários e não devem ser usados. Remova-os do módulo principal.
Usar a injeção de dependências tem uma pequena desvantagem. O Nest precisa primeiro inicializar a aplicação (instanciando módulos e providers, injetando dependências etc.) e, durante esse processo, a instância de HyperDXNestLogger ainda não está disponível, o que significa que o Nest recorre ao logger interno. Uma solução é criar o logger fora do ciclo de vida da aplicação, usando a função createLogger, e passá-lo para NestFactory.create. O Nest então encapsulará nosso logger personalizado (a mesma instância retornada pelo método createLogger) na classe Logger, encaminhando todas as chamadas para ela: Crie o logger no arquivo main.ts
Altere seu módulo principal para disponibilizar o serviço Logger:
Em seguida, injete o logger simplesmente tipando-o com o Logger de @nestjs/common:
Última modificação em 2 de julho de 2026