首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加自定义“跟踪id与字母数字值,并在应用程序日志中吐出来”

添加自定义“跟踪id与字母数字值,并在应用程序日志中吐出来”
EN

Stack Overflow用户
提问于 2019-10-07 23:06:35
回答 2查看 1.8K关注 0票数 0

我使用的是Sleuth 2.1.3。我想添加一个自定义的“跟踪ID”作为带有字母数字值的“相关id”,并希望在日志中使用spanid和父id。如果我使用下面的实现来创建新的自定义跟踪id。它会打印在日志中吗?

我尝试了下面的实现,但在日志https://github.com/openzipkin/zipkin-aws/blob/release-0.11.2/brave-propagation-aws/src/main/java/brave/propagation/aws/AWSPropagation.java中看不到任何自定义跟踪

代码语言:javascript
复制
Tracing.newBuilder().propagationFactory(
  ExtraFieldPropagation.newFactoryBuilder(B3Propagation.FACTORY)
                       .addField("x-vcap-request-id")
                       .addPrefixedFields("x-baggage-", Arrays.asList("country-code", "user-id"))
                       .build()
);

我尝试使用https://cloud.spring.io/spring-cloud-sleuth/reference/html/#propagation中的上述代码,但在日志中没有看到任何自定义跟踪id

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-07 23:41:13

您已经作为传播工厂的实现传入了B3Propagation.FACTORY,因此您显式地声明了您想要默认的B3头。您已经说过,您还希望传播一些其他字母数字字段。然后,在日志解析工具中,您可以定义您希望使用自定义字段作为跟踪id,但这并不意味着默认的X-B3-TraceId字段将被更改。如果您希望使用您的自定义字段作为Sleuth能够理解的跟踪id,则需要更改日志记录格式并实现一个不同的传播工厂bean。

票数 0
EN

Stack Overflow用户

发布于 2019-10-17 23:56:46

对我有效的一种方法是使用ExtraFieldPropagation,并将这些密钥添加到传播密钥和白名单密钥下的侦探属性中

示例代码‘@自动跟踪跟踪程序;

代码语言:javascript
复制
Span currentSpan = tracer.nextSpan().start();
ExtraFieldPropagation.set(
      "customkey", "customvalue");
sleuth:
    log:
      slf4j:
        whitelisted-mdc-key : customkey
propagation:
      tag:
        enabled: true
    propagation-keys : customkey '
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58272315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档