Spring Boot微服务中的Spring Cloud Sleuth日志跟踪

时间:2018-06-15 03:05:01

标签: java spring-boot spring-cloud-stream spring-kafka spring-cloud-sleuth

我使用Spring Cloud Stream和Kafka Binder进行了2次Spring启动微服务。我使用Spring cloud sleuth依赖项进行日志跟踪。在微服务A中,在将事件发布到kafka中的主题时,我将trackId设置为

ExtraFieldPropagation.set("trackId","valueHeader");

我没有把这个值作为微服务B中的行李标题。我得到的是TraceId,SpanID,但不是我设置的行李元素,如上所述。

1 个答案:

答案 0 :(得分:0)

您是否阅读了本节下的文档? https://cloud.spring.io/spring-cloud-static/Finchley.RC2/single/spring-cloud.html#_prefixed_fields

  

与之前版本的侦探的不同之处在于,对于Brave,你   必须通过行李钥匙清单。有两个属性   实现这一点。使用spring.sleuth.baggage-keys,您可以设置密钥   以行李为前缀 - 用于HTTP呼叫和行李_用于消息传递。   您还可以使用spring.sleuth.propagation-keys属性来传递   列入白名单且没有任何前缀的前缀键列表。

您是否明确提供了行李钥匙?例如。 https://github.com/spring-cloud-samples/sleuth-documentation-apps/blob/master/service1/src/main/resources/application.yaml#L9-L11

spring:
  sleuth:
    # you have to explicitly provide baggage keys
    baggage-keys:
      - trackId
      - valueHeader