我使用的是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中看不到任何自定义跟踪
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
发布于 2019-10-07 23:41:13
您已经作为传播工厂的实现传入了B3Propagation.FACTORY,因此您显式地声明了您想要默认的B3头。您已经说过,您还希望传播一些其他字母数字字段。然后,在日志解析工具中,您可以定义您希望使用自定义字段作为跟踪id,但这并不意味着默认的X-B3-TraceId字段将被更改。如果您希望使用您的自定义字段作为Sleuth能够理解的跟踪id,则需要更改日志记录格式并实现一个不同的传播工厂bean。
发布于 2019-10-17 23:56:46
对我有效的一种方法是使用ExtraFieldPropagation,并将这些密钥添加到传播密钥和白名单密钥下的侦探属性中
示例代码‘@自动跟踪跟踪程序;
Span currentSpan = tracer.nextSpan().start();
ExtraFieldPropagation.set(
"customkey", "customvalue");
sleuth:
log:
slf4j:
whitelisted-mdc-key : customkey
propagation:
tag:
enabled: true
propagation-keys : customkey 'https://stackoverflow.com/questions/58272315
复制相似问题