我的项目正在使用log4j2,在运行使用使用log4j 1.x的第三方库的应用程序之前,一切正常。当我们的应用程序启动时,我们会在org.apache.log4j.ConsoleAppender上获得一个涉及ClassNotFoundException的恼人的堆栈跟踪。我注意到我们的一个依赖项在其jar引用org.apache.log4j.ConsoleAppender中有一个log4j.properties,所以我猜这就是堆栈跟踪的原因。导致此错误的其他几个依赖包括大多数使用JBoss日志记录类的东西,比如嵌入式glassfish和eclipse持久性包。
我尝试将log4j-1.2.bridge api jar添加到类路径中,但它没有效果。
在我们的应用程序类路径中包含log4j2和log4j1.x的jar包似乎有点荒谬。还有其他选择或修复吗?
答案 0 :(得分:1)
这些链接为我提供了答案:
https://issues.apache.org/jira/browse/LOG4J2-172
https://issues.jboss.org/browse/JBLOGGING-95
看起来我们正在使用不支持log4j2的JBoss日志记录的过时版本。但是,我仍然不确定如何处理包含log4j.properties的一个依赖项。
[edit]事实证明,为该依赖项添加了log4j-jcl-2.0 jar。