如何将可搜索项添加到 logback,类似于 sleuth 中的 traceId

How to add searchable items to logback, similar to traceId in slueth

我有一个使用 sleuth 的 springboot 应用程序。这会创建您可以搜索的日志记录。 所以下面的日志代码

log.info("Request from client "+clientId);

将return

@timestamp:Dec 30, 2021 @ 16:52:22.855, message: Request from client client111, traceId: 111 spanId: 111

但是除了有timeStamp、message、traceId和spanId,我还想加上clientId。这样我就可以

@timestamp:Dec 30, 2021 @ 16:52:22.855, message: Request from client client111, clientId: client111, traceId: 111 spanId: 111

现在我知道我将 clientId 添加到 logback。 但是我如何在 jave 代码中编写它来获取 clientId。

Log.info 只写入消息,有没有办法让我也可以将 clientId 写入 clentId

使用映射诊断上下文 MDC

所以在我的代码中我有

MDC.put("clientId",clientId);
logger.info("received from client"+clientId);

在我的 logback.xml

 %X{clientId} - %msg%n"