spring的侦探增加了MDC的X-B3-SpanId和SpanID。(TraceId相同)
{X-B3-SpanId=0000000000000001, X-B3-TraceId=0000000000000002, X-Span-Export=false, spanExportable=false, spanId=0000000000000001, traceId=0000000000000002}
“x-b3-”前缀值与非前缀值相同。
如果其中一个值是多余的,我倾向于删除它。(减少日志的冗长)
X-B3-SpanId和SPANID有什么区别吗?(X-B3-TraceId和Traceid)
是否有充分的理由将两者都记录下来?
spring文档https://cloud.spring.io/spring-cloud-sleuth/2.1.x/single/single/-cloud-sleuth.html#_propagation中的图表显示,“x-b3-”前缀的东西只存在于传输的请求头中,但是如果我在没有这些头的情况下发出请求,日志的MDC仍然包含“x-b3-”前缀的值。
使用得依赖项:
只是简单地添加了对gradle.build的依赖关系-没有关于sleuth的定制/配置。
*MDC=log4j2的映射诊断上下文https://logging.apache.org/log4j/2.x/manual/thread-context.html
查看类Slf4jScopeDecorator可以清楚地看到,这两个值完全相同,它们保持X-B3*前缀值只是为了向后兼容:
* Adds {@linkplain MDC} properties "traceId", "parentId", "spanId" and "spanExportable"
* when a {@link brave.Tracer#currentSpan() span is current}. These can be used in log
* correlation. Supports backward compatibility of MDC entries by adding legacy "X-B3"
* entries to MDC context "X-B3-TraceId", "X-B3-ParentSpanId", "X-B3-SpanId" and
* "X-B3-Sampled"
https://github.com/spring-cloud/spring-cloud-sleuth/blob/master/spring-cloud-sleuth-core/src/main/Java/org/springframework/cloud/sleuth/log/slf4jscopedecorator.Java
所以您可以使用这两个变量中的任何一个,但要注意,它们认为X-B3*变量是遗留变量
我在Node中编写的服务很少使用“X-Request-Id”作为标头来识别请求。我现在使用spring boot在Java中编写服务,我可以使用spring cloud sleuth跟踪traceId和spanId。 然而,我希望在我的所有服务中继续使用“X-Request-Id”作为请求标识符。有没有办法在spring sleuth中重命名“X-B3-TraceId”标头,以便它在HTTP请求中
我正在尝试通过使用spring-cloud d-gcp-starter-log将SpringBootApplication(微服务)与StackdriverLogging集成。我能够在GCP中看到日志,但在日志中traceId和SPANId丢失。为此,我也尝试使用Spring-cloud d-sleuth,但由于我在我的微服务中使用apache kafka,因此侦探无法正常工作。有人能帮我吗我如何
我试图在spring boot应用程序中配置的过滤器中获取请求中的Traceid以进行审计。 我们如何从过滤器中的请求中获取Traceid
TraceId 生成规则 SOFATracer 通过 TraceId 来将一个请求在各个服务器上的调用日志串联起来,TraceId 一般由接收请求经过的第一个服务器产生,产生规则是: 服务器 IP + 产生 ID 时候的时间 + 自增序列 + 当前进程号 ,比如: 0ad1348f1403169275002100356696 前 8 位 0ad1348f 即产生 TraceId 的机器的 IP,
例如,在包括Spring Cloud Sleuth之前,人们会在他们的日志中得到这样的东西 在应用程序名称附近有2个逗号(即traceID和spanID将显示的位置)。但我的日志最初看起来像这样 为了在日志中获取应用程序名称,我在application.properties中编写了以下代码 现在,我的日志看起来是这样的(如果您观察到,它在应用程序名称旁边没有2个逗号) 即使包括了Sleuth,我的