当前位置: 首页 > 知识库问答 >
问题:

spring cloud sleuth如何向日志行添加跟踪信息

轩辕奕
2023-03-14
<include resource="org/springframework/boot/logging/logback/base.xml"/>

我想开始记录跟踪信息,因此添加了:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>

Sleuth将跟踪信息添加到日志行,但我在模式https://github.com/spring-projects/spring-boot/blob/2.3.x/spring-boot-project/spring-boot/src/main/resources/org/springframework/boot/logback/defaults.xml中找不到任何%x%mdc

Sleuth如何将跟踪信息添加到日志行中?

我使用spring-cloud-starter-parenthoxton.sr9parent,它带来了spring Boot 2.3.5.releasespring-cloud-starter-sleuth2.2.6.release

共有1个答案

闾丘高峰
2023-03-14

(tl;dr在底部)
从这个问题中,我想您已经知道了traceIDspanID被放入MDC中。

如果查看sleuth文档的log integration部分,您将看到示例中的跟踪信息介于日志级别(error)和pid(97192)之间。如果您尝试将此与日志配置匹配,您将看到日志级别与PID之间没有任何关系:${log_level_pattery:-%5p}${pid:-},因此跟踪信息如何到达那里可能是一个有效的问题。

如果你再看一看文件,上面写着:

但它给了您一个巨大的提示:

放置您自己的logging.pattern.level属性

基于此,您可以认为日志级别和pid之间没有任何关系,Sleuth只是重写日志级别并将跟踪信息放入其中。如果您在代码中搜索文档中提到的属性,您将发现这正是所发生的事情:

map.put("logging.pattern.level", "%5p [${spring.zipkin.service.name:" + "${spring.application.name:}},%X{traceId:-},%X{spanId:-}]");
 类似资料:
  • 本章介绍如何使用Zipkin或Jaeger收集启用了Istio的应用程序的调用链信息。 完成本章后,你可以理解有关应用程序的所有假设以及如何使其参与跟踪,无论您使用何种语言/框架/平台构建应用程序。 BookInfo示例用来作为此任务的示例应用程序。 环境准备 参照安装指南的说明安装Istio。 如果您在安装过程中未启动Zipkin或Jaeger插件,则可以运行以下命令启动: 启动Zipkin:

  • 本文向大家介绍C# 如何添加错误日志信息,包括了C# 如何添加错误日志信息的使用技巧和注意事项,需要的朋友参考一下 系统日志 系统日志包含了由Windows系统组件记录的事件。例如,在启动期间装入驱动程序或其他系统组件失败被记录到系统日志。要查看系统日志: 打开命令提示符。 在提示符下输入eventvwr。这打开了Windows事件查看器。 应用程序日志 应用程序日志包含了由应用程序或程序记录的事

  • 该项目 为了寻找解决方案,我首先使用maven在执行LiquiBase:Update时将变更日志的SVN修订版存储到中。基于修订版号检索变更日志容易出错。 我已经花了一周的时间来寻找一个健壮的解决方案,在谷歌上搜索了几个小时,构建了几个测试用例(使用了适应的父级和具体的POM,部分使用了maven scm插件等等),但没有运气。最初,我计划使用LiquiBase:tag存储文件路径+修订,但只有当

  • 是否有一种方法可以将时间戳添加到。pm2/logs中的错误日志中? 我注意到命令显示带有时间戳的聚合日志,但查看日志文件时,只有消息和stacktraces没有日期。

  • 大家好,希望有人能帮助我,我正在尝试获得一个非常基本的zipkin实现,以掌握分布式跟踪。我正在使用Spring靴来做这件事,但似乎不能使它工作。当我尝试为我的服务查找跟踪时,zipkin UI中不会显示任何内容。 我有两个部署如下: 我想要登录的spring boot应用程序: 我得完整日志: 我部署的第二个应用程序是我的zipkin客户机/UI Pom.xml