Перейти к основному содержанию
Интеграция ClickStack для NestJS позволяет создать логгер или использовать логгер по умолчанию для отправки журналов в ClickStack (на основе nest-winston). Это руководство охватывает интеграцию:
✅ Журналы✖️ Метрики✖️ Трейсы
Чтобы также отправлять метрики или APM/трейсы, вам нужно дополнительно подключить к приложению соответствующую языковую интеграцию.

Начало работы

Импортируйте HyperDXNestLoggerModule в корневой AppModule и используйте метод forRoot() для его конфигурации.
После этого экземпляр winston будет доступен для внедрения во всём проекте с использованием токена внедрения HDX_LOGGER_MODULE_PROVIDER:

Замена логгера Nest (в том числе для бутстрапинга)

ВажноВ этом случае вы отказываетесь от внедрения зависимостей, а значит, forRoot и forRootAsync не нужны и использовать их не следует. Удалите их из основного модуля.
У использования внедрения зависимостей есть один небольшой недостаток. Сначала Nest должен выполнить начальную инициализацию приложения (создать экземпляры модулей и провайдеров, внедрить зависимости и т. д.), и в процессе этого экземпляр HyperDXNestLogger ещё недоступен. Это означает, что Nest использует внутренний логгер. Один из вариантов решения — создать логгер вне жизненного цикла приложения с помощью функции createLogger и передать его в NestFactory.create. Затем Nest обернёт наш пользовательский логгер (тот же экземпляр, который возвращает метод createLogger) в класс Logger и будет перенаправлять ему все вызовы: Создайте логгер в файле main.ts
Измените основной модуль так, чтобы он предоставлял сервис Logger:
Затем просто внедрите логгер, указав в подсказке типа Logger из @nestjs/common:
Последнее изменение 2 июля 2026 г.