跳转到主要内容
ClickStack 的 NestJS 集成可让您创建日志记录器,或使用默认 日志记录器 将日志发送到 ClickStack (基于 nest-winston) 。 本指南集成:
✅ 日志✖️ 指标✖️ 链路追踪
如需发送指标或 APM/链路追踪,您还需要为应用程序添加相应的语言 集成。

快速开始

HyperDXNestLoggerModule 导入根 AppModule,并使用 forRoot() 方法进行配置。
之后,即可在整个 项目中使用 HDX_LOGGER_MODULE_PROVIDER 注入令牌来注入 winston 实例:

替换 Nest 日志记录器 (也用于引导阶段)

重要这样做后,你将不再使用依赖注入,这意味着不需要 forRootforRootAsync,也不应再使用它们。请将它们从主模块中移除。
使用依赖注入有一个小缺点。Nest 必须先引导应用程序 (实例化模块和提供程序、注入依赖项等) ,而在此过程中, HyperDXNestLogger 的实例尚未可用, 这意味着 Nest 会回退到内部日志记录器。 一种解决方案是在应用程序生命周期之外创建日志记录器,使用 createLogger 函数,并将其传递给 NestFactory.create。随后 Nest 会 将我们的自定义日志记录器 (即 createLogger 方法返回的同一个实例) 包装为 Logger 类,并将所有调用转发给它: main.ts 文件中创建日志记录器
将主模块修改为提供 Logger 服务:
然后,只需将其类型标注为来自 @nestjs/common 的 Logger,即可注入该日志记录器:
最后修改于 2026年7月2日