3

我一直在尝试将跟踪 ID 添加到我的微服务日志中。我尝试过使用 sleuth 和 spring cloud 并且它正在工作。但是我不想加载spring cloud只是为了将trace id添加到我的日志中。是否可以在不加载spring cloud的情况下将traceid添加到日志中。?我的意思是我只想在日志中添加一个 traceID。

4

1 回答 1

1

一种选择可能是使用大多数日志框架支持的映射诊断上下文 (MDC)。
您的服务入口点生成一个唯一 ID 并将其推送到 MDC:上下文变量被添加到同一线程内的每个日志中。
使用 log4j 会是这样的:

MDC.put("TRACE_ID", traceId);

以及对应的log4j配置

log4j.appender.l.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%X{TRACE_ID}] %-5p %c -> %m%n

我相信 slf4j 提供了类似的功能

于 2020-04-16T11:55:38.480 回答