log4j - 项目使用log4j2时如何使用log4j 1.x处理依赖

标签 log4j log4j2

我的项目正在使用 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 似乎有点荒谬。有没有其他选择或修复?

最佳答案

这些链接为我提供了答案:

https://issues.apache.org/jira/browse/LOG4J2-172
https://issues.jboss.org/browse/JBLOGGING-95

看起来我们正在使用不支持 log4j2 的过时版本的 JBoss 日志记录。但是,我仍然不确定如何处理包含 log4j.properties 的一个依赖项。

[编辑] 事实证明,添加 log4j-jcl-2.0 jar 适用于该依赖项。

关于log4j - 项目使用log4j2时如何使用log4j 1.x处理依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21389501/

相关文章:

java - 电锯 v2 中的存储大小

java - 何时何地在 spring-boot 应用程序中应用日志记录

java - log4j 看不到 log4j.properties 文件

java - Log4j V2 自定义布局

spring-boot - Spring Boot 日志记录 : use of system variables in log4j2. xml

java - 如何减少日志大小

使用 Log4j 的 Java 记录器

java - 如何发现加载的log4j2配置的完整路径?

java - Log4J 不写入日志文件

java - 如何使用 log4j2 只记录一个级别?