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

Spring Cloud Gateway迁移至Boot3后,如何用Micrometer填充Netty访问日志Trace ID

问题:Spring Boot 3.0.3 + Micrometer 下 Netty 访问日志无法填充 Trace ID 和 Span ID

我正将基于Spring Cloud Gateway的网关应用从Spring Boot 2.7.9迁移到3.0.3,切换为Micrometer替代Sleuth后,遇到Netty访问日志无法填充Trace ID和Span ID的问题。已创建示例应用复现该问题。

此前在Boot 2.7.9中使用spring-cloud-starter-sleuth时,通过如下配置Bean实现访问日志填充Trace ID和Span ID:

import brave.http.HttpTracing;
import reactor.netty.http.brave.ReactorNettyHttpTracing;

@Configuration(proxyBeanMethods = false)
class TraceNettyConfig {

    @Bean
    NettyServerCustomizer traceNettyServerCustomizer(ObjectProvider<HttpTracing> tracing) {
        return server -> ReactorNettyHttpTracing.create(tracing.getObject()).decorateHttpServer(server);
    }
}

目前示例应用中,网关过滤器日志能正常显示Trace ID和Span ID,但Netty访问日志中这两个字段为空,请问在Boot3搭配Micrometer的环境下,缺少哪些配置才能实现需求?

示例日志如下:

2023-03-01T09:01:05.018+01:00  INFO [TRACE_ID: 63ff0640986add6d1916458610155824] [SPAN_ID: 1916458610155824] 360133 --- [or-http-epoll-2] com.example.demo.MyFilter                : Filter has been hit
2023-03-01T09:01:05.911+01:00  INFO [TRACE_ID: ] [SPAN_ID: ] 360133 --- [or-http-epoll-2] reactor.netty.http.server.AccessLog      : 127.0.0.1 - - [01/Mar/2023:09:01:04 +0100] \"GET /anything HTTP/1.1\" 200 654 957

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 15:03:16