5

我们使用 SLF4J(带有 log4j)作为我们的日志框架。我们正在尝试利用 Log4j 支持的在线文档的 MDC 功能。

使用 SLF4J 时,MDC 不起作用。但是,当使用 log4j 时,它工作得非常好。文档说明只要底层框架支持 MDC,SLF4J 就应该支持。

我们正在使用 SLF4J 1.6.4(slf4j-apislf4j-log4j12并且slf4j-simple已作为依赖项添加到我们的pom.xml)中。

某处是否存在差异/不匹配?我们是否缺少任何依赖项?任何输入将不胜感激。

4

2 回答 2

0

除了 slf4j-log4j12.jar 之外,您还添加了 slf4j-simple.jar 作为依赖项,这表明您还不熟悉 SLF4J。你确定你确定 SLF4J 实际上是绑定到 log4j 的吗?撇开 MDC 不谈,您是否确认您的 log4j.properties 配置文件已被考虑在内?

于 2012-01-20T07:04:11.723 回答
0

根据 SLF4J 的 MDC javadoc,该类对 slf4j-simple 使用 NOPMDCAdapter,一个空实现:

https://www.slf4j.org/api/org/slf4j/MDC.html

如果底层日志系统提供 MDC 功能,那么 SL​​F4J 的 MDC,即这个类,将委托给底层系统的 MDC。请注意,目前只有两个日志系统,即 log4j 和 logback,提供 MDC 功能。对于不支持 MDC 的 java.util.logging,将使用 BasicMDCAdapter。对于其他系统,即 slf4j-simple 和 slf4j-nop,将使用 NOPMDCAdapter。

对于 NOPMDCAdapter 文档:https ://www.slf4j.org/api/org/slf4j/helpers/NOPMDCAdapter.html

于 2022-02-03T17:36:32.320 回答