SLF4J 不使用 jcl-over-slf4j 记录公共资源

SLF4J doesn't log for commons with jcl-over-slf4j

在移动我们当前的日志记录以使用 SLF4J(使用 log4j)时,我发现它不会记录到我的 appache 服务器中用于公共日志记录的附加程序。当它访问公共日志记录时(这个具体示例在 TextProviderHelper class 中),它具有正确注入的记录器和正确的日志记录级别,但不会显示在 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>

如果我没看错,只有 ERROR 或更高级别(FATAL?​​)的消息会由于其阈值而进入 appender,因此没有 INFO、WARN、DEBUG ....