使用Logback但Log4j开始显示WARN no Appender

我正在使用logback进行日志记录,但它一直在工作; 前几天我开始收到警告

log4j:WARN没有为logger找到appender(org.apache.axis.i18n.ProjectResourceBundle)。 log4j:WARN请正确初始化log4j系统。

我没有使用log4j,也没有使用过这个项目。 我的资源文件夹中有一个logback.xml。

关于为什么这个警告开始显现的任何想法?

您必须使用使用log4j的库。 你能发布更多关于你的项目的信息吗?

您应该只将log4j桥放在类路径上。 在这里阅读更多: http : //www.slf4j.org/legacy.html

你想要研究的jar是log4j-over-slf4j。 它将桥接log4j API以实际调用您的slf4j API实现(在您的情况下 – logback)。

如果您使用Maven来构建项目,那么它可能就像放置一样简单

 org.slf4j log4j-over-slf4j 1.7.7  

在依赖中。

排除库(如果需要)将以这种方式完成(这假设我们正在讨论来自您提到的jar的传递依赖性):

   org.swift.common jira-soap 4.4.0   ... ...    

花了一些时间来查找消息,因为消息是log4j:WARN没有找到记录器的appender

我试图排除log4j,我尝试了log4j-over-slf4j。

然后我运行了mvn依赖:tree并最终发现mye commons-configuration实际上是在使用commons-logging

 [INFO] +- commons-configuration:commons-configuration:jar:1.9:compile [INFO] | \- commons-logging:commons-logging:jar:1.1.1:compile [INFO] +- ch.qos.logback:logback-classic:jar:1.0.13:compile [INFO] | +- ch.qos.logback:logback-core:jar:1.0.13:compile [INFO] | \- org.slf4j:slf4j-api:jar:1.7.5:compile [INFO] +- org.slf4j:log4j-over-slf4j:jar:1.7.6:compile [INFO] \- org.apache.commons:commons-lang3:jar:3.1:compile 

这成了我的解决方案。

    ch.qos.logback logback-classic 1.0.13    org.slf4j jcl-over-slf4j 1.7.6