将 jaeger 跟踪 ID 和跨度 ID 添加到 log4j2 日志



我想在日志中注入x-b3-traceid和x-b3-spanid,模式如图所示-

property name="PATTERN" value="%h %l %u [%date{dd/MMM/yyyy:HH:mm:ss.SSS}] "%r" %s %b "%i{Referer}" "%i{User-Agent}" [trace=%responseHeader{X-B3-TraceId},span=%i{X-B3-SpanId}] %D"

对于zipkins,有可用的库,例如

勇敢的上下文日志4j2 – (https://github.com/openzipkin/brave/tree/master/context/log4j2(

春云侦探。(https://cloud.spring.io/spring-cloud-sleuth/( 如何在使用积家时添加它?

为了使用Jaegar,最好的方法是不要使用JAEGAR客户端!Jaegar有能力收集Zipkin跨度。

https://www.jaegertracing.io/docs/1.8/getting-started/#migrating-from-zipkin

您应该利用这一点并使用以下 Sleuth+Zipkin 依赖项,并在您的 Spring 启动应用程序中排除 Jaegar 代理 jar。

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

默认情况下,上述会将 Zipkin 跨度发送到 http://localhost:9411。您可以在 Spring Boot 应用程序中覆盖它,通过覆盖 zipkin 基本 URL 轻松指向您的 Jaegar 服务器。

spring.zipkin.base-url=http://your-jaegar-server:9411

侦探将完成所有繁重的工作,默认日志记录将记录跨度和跟踪ID。

log4j2.xml文件中,您只需要提及的是

[%X]

我将把这种方法的一个工作示例上传到我的GitHub并分享链接。

编辑 1:

您可以在此处找到示例代码:

https://github.com/anoophp777/spring-webflux-jaegar-log4j2

相关内容

  • 没有找到相关文章

最新更新