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 ....
在移动我们当前的日志记录以使用 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 ....