java - Spring cloud sleuth 3.0.1 使用 logback 在日志中生成 traceid 和 spanid
问题描述
我正在使用spring-cloud-starter-sleuth:3.0.1
andspring-cloud-sleuth-zipkin:3.0.1
来生成traceId
andspanId
在日志文件中。我能够使用2.2.7.RELEASE
版本在日志中获取这些内容。我尝试过使用logback
但无法使用3.0.1
版本。根据 3.0.1 文档,他们删除了 Legacy MDC 条目,但勇敢spanId
且traceId
存在。
依赖层次:
日志中未生成 traceId 和 spanId:
我试图在 zipkin 上查看此请求的跟踪,并能够使用 traceid 和 spanid 看到它:
任何人都可以帮助我使用 logback/log4j 在日志文件中获取 traceid 和 spanid 吗?
解决方案
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 生成一个新项目,编写一个控制器并检查日志(不要创建任何日志配置文件,只需将所有内容保留为默认值)。
推荐阅读
- java - javax.xml.crypto.dsig.XMLSignatureException:keyselector 没有找到验证密钥
- c# - 运行 'dotnet publish' 将 SDK 更新到错误的版本
- java - 在 Spring 中如何审计端点通信?
- d3.js - D3 - 将条添加到组中
- python - 如何用特定时间值的平均值填充 Nan 值?
- c - 在 C 中打印字符串和空字符的概念
- mysql - 在 MySQL 数据库上使用 SUBSTRING_INDEX 语法
- javascript - 无法让 converse.js 在本地服务器的嵌入式模式下工作
- image - 将 og: image 添加到 Hugo 中的特定页面
- angular - 仅在运行 Angular Jasmine 测试时未定义对 observable 的订阅,但在运行应用程序本身时定义