我使用来自 Netbeans 7.2.1 的 jboss-as-maven-plugin 版本 7.3.Final (goal 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 设置为调试级别。
更奇怪的是显示来自 org.openid4java 级别 INFO 的日志。
我应该怎么办?我的错误在哪里?
谢谢