如何用brave tracing打印traceId和spanId?

问题描述 投票:0回答:1

之前我用spring boot 1.5.12写了以下代码:-。

 import org.springframework.cloud.sleuth.Span;

 import org.springframework.cloud.sleuth.Tracer;

@Autowired
Tracer tracer;



    Span span = this.tracer.getCurrentSpan();
    System.out.println(Span.idToHex(span.getSpanId()));
    System.out.println(Span.idToHex(span.getTraceId()));

但是这段代码在spring boot 2.2.6中无法使用,现在我应该如何打印?

spring-boot trace spring-cloud-sleuth
1个回答
1
投票
import brave.Tracer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Slf4j
@Component
public class BravePrinter {

    @Autowired
    private Tracer tracer;

    public void print() {
        var span = this.tracer.currentSpan();
        System.out.println(span.context().traceIdString());
        System.out.println(span.context().spanIdString());
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.