使用的logback但Log4j的开始显示WARN没有附加目的地(Using Logback but

2019-08-06 20:07发布

我使用的logback我的日志记录,并一直工作然而; 有一天,我开始警告

log4j的:警告没有附加目的地可以发现记录器(org.apache.axis.i18n.ProjectResourceBundle)。 log4j的:WARN请正确初始化log4j的系统。

我没有使用log4j的也没有我曾经与这个项目。 我在我的资源文件夹logback.xml。

为什么这样的警告开始出现任何想法?

Answer 1:

您必须使用不使用log4j的图书馆。 你可以发布任何有关你的项目?

你或许应该只是把log4j的桥梁上的类路径。 在这里阅读更多: http://www.slf4j.org/legacy.html

你想看看罐子log4j的环比SLF4J。 这将弥补log4j的API真正让您实现SLF4J的API调用(你的情况 - 的logback)。

如果您正在使用Maven来构建你的项目,那这可能是因为把简单

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>log4j-over-slf4j</artifactId>
    <version>1.7.7</version>
</dependency>

依赖关系。

剔除库(如果需要)会以这种方式来完成(假定我们正在谈论你所提到的jar的传递依赖):

    <dependency>
        <groupId>org.swift.common</groupId>
        <artifactId>jira-soap</artifactId>
        <version>4.4.0</version>
        <exclusions>
            <exclusion>
                <groupId>...</groupId>
                <artifactId>...</artifactId>
            </exclusion>
        </exclusions>
    </dependency>


Answer 2:

我花了一些时间来找出因为消息是log4j的:警告没有附加目的地可以发现记录仪

我试图排除log4j的,我试图log4j的环比SLF4J。

然后我跑MVN依赖性:树,终于发现了MYE公地配置中使用共享记录实际上是

[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

这成为我的解决方案。

    <!-- logging with logback (and slf4j)-->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.0.13</version>
    </dependency>

    <!-- had a dep in commons-configuration -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>1.7.6</version>
    </dependency>


文章来源: Using Logback but Log4j started displaying WARN no Appenders