小编典典

如何使用Spring Sleuth记录MDC?

spring-boot

我有一个基于Spring Boot + Sleuth的应用程序。所有工作均按预期进行。我现在有这样的日志:

2017-05-04 17:55:52.226  INFO [alert,692d0eeca479e216,c3c8b680dc29ad02,false] 17292 --- [cTaskExecutor-1] c.k.a.b.s.alert.impl.AlertServiceImpl    : Alert state to process: xxx

现在,我想将自定义MDC添加到我的日志中,例如合同参考。我想要这样的日志:

2017-05-04 17:55:52.226  INFO [alert,692d0eeca479e216,c3c8b680dc29ad02,false] [CONTRACT_REF] 17292 --- [cTaskExecutor-1] c.k.a.b.s.alert.impl.AlertServiceImpl    : Alert state to process: xxx

我尝试了各种各样的事情都没有成功:

  1. 使用Spring Sleuth Tracer添加标签;
  2. 使用MDC.put(xxx,xxx)将logging.pattern.level =%5p%mdc添加到我的application.properties文件中

如何将自定义MDC /标签添加到日志?


阅读 787

收藏
2020-05-30

共1个答案

小编典典

对于2.x之前的版本,您必须创建自己的实现SpanLogger。最简单的方法是扩展,Slf4jSpanLogger并提供您自己的代码以从MDC上下文中添加/更新和删除条目。然后,您可以更改日志记录模式,这样您的日志将包含它们所需的内容。

2020-05-30