Spring Cloud Sleuth 在 spring-boot/spring cloud 升级后停止将 X-B3-TraceId 推送到 MDC
Posted
技术标签:
【中文标题】Spring Cloud Sleuth 在 spring-boot/spring cloud 升级后停止将 X-B3-TraceId 推送到 MDC【英文标题】:Spring Cloud Sleuth stopped pushing X-B3-TraceId into MDC after spring-boot/spring cloud upgrade 【发布时间】:2021-07-28 02:29:44 【问题描述】:我已将 Spring boot 依赖项从 2.1
升级到 2.4.5
并将 spring cloud 升级到 2020.0.2
。
此次升级后,我的 MDC 上下文未填充。
关于这里应该做什么的任何想法?
【问题讨论】:
【参考方案1】:在 spring cloud 2020.0.2
你有侦探 3.x
并且有一个迁移指南告诉你 some changes to MDC
【讨论】:
【参考方案2】:我认为答案取决于您的用例,但据我记得,发生了变化,并且 MDC 上下文在跨度完成后被清理。
这意味着如果你在Span范围内(例如:控制器方法),你可以看到MDC的Sleuth相关部分但是如果你在Span范围之外(例如:Tomcat访问日志),你没有。
要对此进行测试,请尝试注销控制器方法内的 MDC 上下文映射,MDC 上下文应包含与跟踪相关的字段。
【讨论】:
就是这样,我在控制器方法内部,我正在输出 MDC 映射,它为空。以上是关于Spring Cloud Sleuth 在 spring-boot/spring cloud 升级后停止将 X-B3-TraceId 推送到 MDC的主要内容,如果未能解决你的问题,请参考以下文章
spring-cloud-sleuth与spring-amqp集成
如何配置 spring-cloud-gateway 以使用 sleuth 记录请求/响应正文
Spring CloudSpring Cloud之Spring Cloud Sleuth,分布式服务跟踪