如何在spring cloud sleuth中使用日志而不是spanId中的span名称?

时间:2018-02-20 12:30:24

标签: logging spring-cloud spring-cloud-sleuth

我正在使用spring-cloud-starter-sleuth 2.0.0 M6并且由于重大更改,我无法使用以前的配置,这样我就可以在控制台日志中看到(人类可读的)跨页名称,而不是spanId

我希望[app,98ec5c2ab34ea626,span-name,false]代替[app,98ec5c2ab34ea626,f56b4623ee2e9a3f,false]

我曾经在2.0.0M1中对其进行配置,如下所示:

class CustomSlf4jSpanLogger implements SpanLogger {


    @Override
    public void logStartedSpan(Span parent, Span span) {
        MDC.put(Span.SPAN_ID_NAME, span.getName());
        MDC.put(Span.SPAN_NAME_NAME, span.getName());
        MDC.put(Span.SPAN_EXPORT_NAME, String.valueOf(span.isExportable()));
        MDC.put(Span.TRACE_ID_NAME, span.traceIdString());
        log("Starting span: {}", span);
        if (parent != null) {
            log("With parent: {}", parent);
            MDC.put(Span.PARENT_ID_NAME, Span.idToHex(parent.getSpanId()));
        }
    }

   // the rest is omitted for brevity

}

现在SpanLogger消失了。我能找到的最近的东西是Slf4jCurrentTraceContext但是currentSpan TraceContext类型中没有任何范围名称。

如何在2.0.0 M6

中配置此功能

1 个答案:

答案 0 :(得分:0)

这就是问题......那个名字在Brave的范围内不可用。我想你可能需要添加一些标签或者......并尝试在UITextField中检索它。我想我在这里写了这篇文章 - https://github.com/spring-cloud/spring-cloud-sleuth/wiki/Spring-Cloud-Sleuth-2.0-Migration-Guide#removed-features