我在CompletableFuture.handle
中使用Sleuth。示例:
log.info("first");
apnsClient.sendNotification(...).handle((response, cause) -> {
log.info("second");
});
我希望第二个
日志具有与第一个
日志相同的跟踪id。然而,它没有。因此我想知道该怎么办?谢了!
附言。我无法控制apnsclient.sendnotification
如何管理线程(因为它来自Pushy),所以无法使用LazyTraceExecutor之类的东西。
您可以做的是在log.info(“第一”)
之前检索span(例如通过tracer.currentspan()
),将span传递给带有log.info(“第二”)
的lambda,然后通过tracer.withspaninscope(span)
手动继续跟踪。它会是这样的:
Span span = tracer.currentSpan();
log.info("first");
apnsClient.sendNotification(...).handle((response, cause) -> {
try (SpanInScope ws = tracer.withSpanInScope(span)) {
log.info("second");
}
});
有必要为进入控制台日志的所有内容生成一个span id,但不幸的是,没有生成span id: 应用程序.yml logback.xml 为显式调用的日志记录方法生成span id:
我正在使用侦探,我想知道是否有可能获得当前的跟踪ID?我不需要添加任何响应或任何东西。我只是想要跟踪ID的电子邮件提醒开发团队在某些情况下。
我正在使用侦探2.0.x,我想添加我自己的跟踪ID,除了它自己的。 我正在浏览给定的链接 https://cloud.spring.io/spring-cloud-static/spring-cloud-sleuth/2.0.0.RC2/single/spring-cloud-sleuth.html#_propagation 我想修改跟踪如下代码:-公共静态最终字符串TAG _ NAME = "
Spring Cloud Sleuth跟踪头是否像这里描述的RabbitMq和Kafka那样被注入到Spring Cloud Stream Kinesis消息中?我们有一个REST控制器,它在处理POST请求之后,但在向客户机发送响应之前,向Kinesis发送一个Avro消息,该消息使用Spring Cloud Stream Kinesis总结事务。我想确保在REST控制器中启动的跟踪id被传播到
我已经开始学习Sleuth,但是我还停留在日志配置上。 我有这样的配置: 但是当我检查文件时,我缺少跟踪 Id 和 spanId。下面是示例: 这是pom.xml的片段 不知道如何在这里继续,我一直在阅读文档和堆栈溢出帖子,但仍然找不到任何答案。 提前致谢。
null