混合log4j 1.x和log4j 2

Fru*_*ner 24 java logging log4j log4j2

我有一个使用log4j2编写的新应用程序,以利用它的一些新功能.它使用的其中一个库有点旧,用log4j 1.x构建.我遇到一个问题,即应用程序中的新代码写入日志,但旧库中的代码不会写入日志.我甚至有一个类是旧库中某个东西的子类,也是旧库中的代码调用,这个代码也不会写入日志.我已将应用程序配置为使用log4j2版本2.0.2,并且在将旧库引用为maven依赖项时明确排除了log4j.

如何让旧库中的代码登录到与我的新代码相同的文件中?

重写旧库应该被认为是最后的选择

Rem*_*pma 40

你知道log4j2包含了log4j-1.2的桥吗?您可以通过删除旧的log4j-1.2.17.jar来使用它,并包含这三个jar:

  • log4j的-API 2.x.jar
  • log4j的核心 - 2.x.jar
  • 的log4j-1.2-API 2.x.jar

这将导致应用程序对log4-1.2 API的所有调用都被路由到log4j2实现.常见问题解答有一个可以澄清事情的图表.(别忘了从类路径中删除旧的log4j-1.2 jar!)

  • 看来我也错过了`log4j-jcl`,但我现在已经可以进行日志记录了,谢谢! (2认同)
  • 是的,log4j 2不理解log4j1.x配置文件。 (2认同)