Spring Boot 3.0从Sleuth迁移Micrometer所需依赖咨询
解决方案
依赖说明
你已经添加的两个依赖完全足够支撑自动配置:
micrometer-observation是核心观测API,提供上下文管理的基础能力micrometer-tracing-bridge-brave对接Brave追踪实现,负责trace/span的生成、跨服务传播逻辑
如果你的项目用了Spring Cloud Feign,只要确保已引入spring-cloud-starter-openfeign依赖(多数项目默认会添加),Micrometer Tracing会通过自动配置类ObservationFeignClientAutoConfiguration自动处理Feign调用的trace ID传播,无需额外配置。
遗漏项检查
- Feign日志级别配置:要在Feign调用日志中看到trace/span ID,需将Feign日志级别调整为完整模式:
feign.client.config.default.logger-level=full
这样Feign会打印包含请求头的完整日志,就能看到传播的trace/span ID。
- Tracer类替换:之前使用的是Sleuth的
org.springframework.cloud.sleuth.Tracer,现在需要替换为Micrometer Tracing的io.micrometer.tracing.Tracer,用法基本一致:
@Autowired private Tracer tracer; // 获取当前traceId String traceId = tracer.currentSpan().context().traceId();
- 日志格式修正:如果使用
.properties配置文件,logging.pattern.level中的引号可以去掉,避免解析异常:
logging.pattern.level=%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]
若使用.yml文件则保留引号即可。
- 监控端点(可选):如果需要查看追踪相关指标,可以开启Actuator的trace端点:
management.endpoints.web.exposure.include=trace
此为可选配置,根据自身监控需求决定是否开启。
内容的提问来源于stack exchange,提问作者alpha
相关产品推荐
相关产品推荐

