Ind*_*942 4 java logging spring
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}
Run Code Online (Sandbox Code Playgroud)
“X-B3-”前缀值与非前缀值相同。
如果其中之一是多余的,我更愿意将其删除。(为了减少我的日志的冗长)
X-B3-SpanId 和 SpanId 之间有什么区别吗?(X-B3-TraceId 和 Traceid)
是否有充分的理由同时记录两者?
spring 文档中的图表https://cloud.spring.io/spring-cloud-sleuth/2.1.x/single/spring-cloud-sleuth.html#_propagation显示“X-B3-”前缀的东西只存在于请求头中用于传输,但如果我在没有任何这些标头的情况下发出请求,我的日志的 MDC 仍然包含“X-B3-”前缀值。
使用的依赖项:
只是简单地添加了对 gradle.build 的依赖 - 没有关于侦探的定制/配置。
*MDC = log4j2 的映射诊断上下文https://logging.apache.org/log4j/2.x/manual/thread-context.html
小智 6
查看类 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"
Run Code Online (Sandbox Code Playgroud)
所以你可以使用任何你想要的,但要注意他们认为 X-B3* 变量是遗留的
| 归档时间: |
|
| 查看次数: |
7793 次 |
| 最近记录: |