我用Netbeans 7.2.1中的jboss-as-maven-plugin版本7.3.Final(目标jboss-as:run)运行我的战争。
我的pom.xml
<!-- logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
<scope>runtime</scope>
</dependency>
slf4j.version是1.7.2。
我有一种奇怪的行为:
这是我的log4j.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<param name="Encoding" value="UTF-8" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p: %c - %m%n" />
</layout>
</appender>
<!-- Application Loggers -->
<logger name="org">
<level value="warn" />
</logger>
<logger name="org.openid4java">
<level value="debug" />
</logger>
<logger name="fr.mypackage">
<level value="debug" />
</logger>
<!-- Root Logger -->
<root>
<priority value="warn" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
使用:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger logger = LoggerFactory.getLogger(MyController.class);
我在fr.mypackage中的记录器不能很好地记录。我的意思是我的所有logger.debug都不起作用,只显示我的logger.warn。我不明白,因为我将fr.mypackage设置为调试级别。
更奇怪的是,显示来自级别INFO的org.openid4java的日志。
我该怎么办?我的错误在哪里?
由于
答案 0 :(得分:1)
问题出在最后。您已将整体日志级别设置为WARN。将根日志记录级别更改为“debug”,所有内容都应该没问题。
<root>
<priority value="warn" />
<appender-ref ref="console" />
</root>
答案 1 :(得分:0)
将appender reference
添加到logger definiton
将解决此问题
<logger name="fr.mypackage">
<level value="debug" />
<appender-ref ref="console" />
</logger>
答案 2 :(得分:0)
检入服务器日志跟踪级别