首页 > 解决方案 > Spring cloud sleuth 3.0.1 使用 logback 在日志中生成 traceid 和 spanid

问题描述

我正在使用spring-cloud-starter-sleuth:3.0.1andspring-cloud-sleuth-zipkin:3.0.1来生成traceIdandspanId在日志文件中。我能够使用2.2.7.RELEASE版本在日志中获取这些内容。我尝试过使用logback但无法使用3.0.1版本。根据 3.0.1 文档,他们删除了 Legacy MDC 条目,但勇敢spanIdtraceId存在。

依赖层次: Dependency_hierarchy

日志中未生成 traceId 和 spanId:

日志

我试图在 zipkin 上查看此请求的跟踪,并能够使用 traceid 和 spanid 看到它:

拉链金

任何人都可以帮助我使用 logback/log4j 在日志文件中获取 traceid 和 spanid 吗?

标签: javaspring-cloud-sleuthzipkin

解决方案


Sleuth 在 3.x 中也默认为您执行此操作:https ://docs.spring.io/spring-cloud-sleuth/docs/current/reference/htmlsingle/#features-log-integration

您可以通过错误配置日志模式或logging.pattern.level类路径来破坏此功能。

我建议去https://start.spring.io,使用 sleuth 和 web/webflux 生成一个新项目,编写一个控制器并检查日志(不要创建任何日志配置文件,只需将所有内容保留为默认值)。


推荐阅读