You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Micrometer时TraceId未写入日志问题排查求助

解决Spring Boot 3.x + Micrometer 日志无TraceId/SpanId的问题

下面是几个可能的遗漏点及对应解决方法:

1. 依赖配置不完整或有误

不要盲目排除io.zipkin.brave依赖,Micrometer Tracing桥接Brave需要其核心类来处理MDC注入。正确的依赖配置应该包含:

<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-tracing-bridge-brave</artifactId>
</dependency>
<dependency>
    <groupId>io.zipkin.reporter2</groupId>
    <artifactId>zipkin-reporter-brave</artifactId>
</dependency>

如果确实存在依赖冲突,仅排除冲突的特定子模块,而非整个io.zipkin.brave组。

2. Logback配置的MDC键名错误

Micrometer Tracing + Brave组合下,默认MDC键为traceId和spanId,而非你配置的X-B3-TraceId和X-B3-SpanId。修改Logback的ConsoleAppender Pattern:

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} [%X{traceId},%X{spanId}] - %msg%n</pattern>
    </encoder>
</appender>

若坚持使用B3格式键名,需自定义Brave的MDC装饰器:

@Configuration
public class TracingConfig {
    @Bean
    public Brave brave(Tracing tracing) {
        return Brave.builder(tracing)
                .addSpanHandler(MdcScopeDecorator.newBuilder()
                        .clear()
                        .add(SpanTagKey.TRACE_ID, "X-B3-TraceId")
                        .add(SpanTagKey.SPAN_ID, "X-B3-SpanId")
                        .build())
                .build();
    }
}

3. 未启用Micrometer Tracing自动配置

确保Spring Boot自动配置未被禁用,检查application.properties/application.yml:

# 不要包含Micrometer或Brave相关的自动配置排除项
spring.autoconfigure.exclude=

同时确保你的启动类标注了@SpringBootApplication(已包含@EnableAutoConfiguration)。

4. 日志输出不在Span上下文范围内

如果日志是在异步线程中输出,需要手动传递Trace上下文。确保测试Controller的日志直接在请求处理线程中输出:

@RestController
public class TestController {
    private static final Logger log = LoggerFactory.getLogger(TestController.class);

    @GetMapping("/test")
    public String test() {
        // 此日志应在请求Span上下文内,能自动注入TraceId/SpanId
        log.info("Inside test");
        return "success";
    }
}

内容的提问来源于stack exchange,提问作者Geek_To_Learn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 18:03:10