问题描述
我有两个使用相同版本的微服务
spring-boot-starter-web (2.3.4)
spring-boot-starter-amqp (2.3.4)
spring-cloud-starter-sleuth (2.2.5)
该服务可以使用logback在日志上完美地记录traceId,spanId和parentId。
{“ @ timestamp”:“ 2020-10-22T14:05:53.387 + 02:00”,“ level”:“ DEBUG”,“ thread”:“ SimpleAsyncTaskExecutor-3”,“ logger”:“ com”。 santander.acms.commons.tracker.publisher.TrackerPublisher“,” traceId“:” b16a8a0cd546b721“,” spanId“:” 48d0d6dfc8834f8c“,” parentSpanId“:” 568a39d74ddeb7d9“,”消息“:”,消息已发送?“: “ json_message”:null,“ exception”:“”}
服务一在服务B上发布到服务2的队列中,并在覆盖B3PropagationFactory之后将X-B3标头注入到消息中,如本文(how to force sleuth not send in single b3 header)所述。
@Bean
BaggagePropagation.FactoryBuilder baggagePropagationFactoryBuilder() {
return BaggagePropagation.newFactoryBuilder(B3Propagation.newFactoryBuilder()
.injectFormat(Span.Kind.PRODUCER,Format.MULTI)
.injectFormat(Span.Kind.CONSUMER,Format.MULTI)
.build());
}
我的问题是,服务2在使用队列中的消息时不会在日志记录中显示任何traceId,spanId和parentId。
"traceId": "%X{X-B3-TraceId:-}","spanId": "%X{X-B3-SpanId:-}","parentSpanId": "%X{X-B3-ParentSpanId:-}",
我是否必须覆盖任何其他bean或配置更多的东西?。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)