Datadog手动注入异常:tracer.scope().active()始终返回null
Datadog日志关联追踪失败:
tracer.scope().active()始终返回null 我按照Datadog官方文档配置日志与追踪关联,但调用tracer.scope().active()始终返回null,导致日志无法在Datadog中正常显示关联信息。
相关代码
logger.ts
import tracer from "dd-trace"; import formats from "dd-trace/ext/formats"; class Logger { log(level: string, message: string): void { const span = tracer.scope().active(); const time = new Date().toISOString(); const record = { time, level, message }; if (span) { tracer.inject(span.context(), formats.LOG, record); } console.log(JSON.stringify(record)); } } export default Logger;
tracer.ts
import tracer from "dd-trace"; tracer.init(); export default tracer;
server.ts 追踪器导入部分
import { FastifyInstance } from "fastify"; import "./tracer"; // 其他业务代码
Logger调用方式
import Logger from "logger"; const logger = new Logger(); logger.log("info", "test message");
环境变量配置
DD_SERVICE=my-service DD_AGENT_HOST='<my agent host>' DD_ENV='dev' DD_LOGS_INJECTION='true' DD_PROFILING_ENABLED='true' DD_TRACE_SAMPLE_RATE='1' DD_VERSION='1.0.0'
已验证的正常状态
- 服务器启动时可打印
DATADOG TRACER CONFIGURATION配置信息 - Datadog APM的服务/追踪页面中,目标服务处于活跃状态
- 使用版本:dd-trace 1.7.1、Node.js 18、Fastify 4.2.0
恳请帮忙找出缺失的配置环节,解决tracer.scope().active()返回null的问题。
内容的提问来源于stack exchange,提问作者Noelt
相关产品推荐
相关产品推荐

