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