Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SLF4J不使用jcl-over-SLF4J登录commons_Java_Logging_Log4j_Slf4j_Apache Commons Logging - Fatal编程技术网

Java SLF4J不使用jcl-over-SLF4J登录commons

Java SLF4J不使用jcl-over-SLF4J登录commons,java,logging,log4j,slf4j,apache-commons-logging,Java,Logging,Log4j,Slf4j,Apache Commons Logging,当我们将当前的日志记录迁移到使用SLF4J和log4j时,我发现它不会登录到appache服务器中的appender以进行commons日志记录。当它访问commons logging时,这个特定示例位于TextProviderHelper类中,它具有正确注入的记录器,并且具有正确的日志记录级别,但不会显示在system.out中。以下是我的设置: pom.xml: <dependency> <groupId>org.slf4j</groupId>

当我们将当前的日志记录迁移到使用SLF4J和log4j时,我发现它不会登录到appache服务器中的appender以进行commons日志记录。当它访问commons logging时,这个特定示例位于TextProviderHelper类中,它具有正确注入的记录器,并且具有正确的日志记录级别,但不会显示在system.out中。以下是我的设置:

pom.xml:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.10</version>
</dependency>
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>1.7.10</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jul-to-slf4j</artifactId>
    <version>1.7.10</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.10</version>
</dependency>
<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.2</version>
    <scope>provided</scope>
</dependency>
log4j.xml:

<appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out" />
    <param name="Threshold" value="ERROR" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c %x - %m%n" />
    </layout>
</appender>

<logger name="org.apache.struts2.util.TextProviderHelper" additivity="false">
    <level value="DEBUG" />
    <appender-ref ref="fileAppender" />
    <appender-ref ref="consoleAppender" />
</logger>

如果我看得对,只有错误或更高级别的消息才是致命的?由于appender的阈值,请转到appender,因此没有信息、警告、调试……

记录器实例的阈值是否会覆盖appender级别?对于特定appender,是的。哦,我的意思是:appender的级别会覆盖记录器。