在 sleuth 中设置自定义 TraceID

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

我想在 sleuth 中设置一个自定义的 TraceId 我尝试在 MDC 中设置 traceId,但它不会更改 Span 上下文中的 traceId

@GetMapping
public String get() {

    System.out.println("traceId before");
    System.out.println(tracer.currentSpan().context().traceId());

    MDC.put("traceId", "99999");

    log.info("KAFKA: SEND ...");

    System.out.println("traceId after");
    System.out.println(tracer.currentSpan().context().traceId());

    MyClass myClass = new MyClass("test");

    kafkaTemplate.send("test-topic-pp-01", myClass);
    return "Test kafka traceId="+ tracer.currentSpan().context().traceId();

}

我的卡夫卡监听器

@KafkaListener(topics = "test-topic-pp-01")
public void onMessage(myClass c) {

    System.out.println("traceId kafka");
    System.out.println(tracer.currentSpan().context().traceId());

    log.info("KAFKA: RECEIVE.");

}

控制台中的输出

之前的traceId c934e175e57c6bf5

2023-03-14 11:03:08.057 INFO [,99999,c934e175e57c6bf5] 18904 --- [nio-9933-exec-2] m.o.clients.controller.ClientController: KAFKA: SEND ...

traceId 之后 c934e175e57c6bf5

traceId卡夫卡 c934e175e57c6bf5

2023-03-14 11:03:08.336 INFO [,c934e175e57c6bf5,ab62017274abae12] 18904 --- [ntainer#0-0-C-1] m.o.clients.controller.ClientController: KAFKA: RECEIVE.

我想将我的 traceId 设置为 99999 例如

有什么帮助吗?

spring-boot spring-cloud spring-cloud-sleuth
© www.soinside.com 2019 - 2024. All rights reserved.