java - Log4j如何配置Log级别

标签 java log4j jboss7.x slf4j

我使用来自 Netbeans 7.2.1 的 jboss-as-maven-plugin 版本 7.3.Final(目标 jboss-as:run)运行我的 war 。

我的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.版本是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 级别的日志。

我该怎么办?我的错误在哪里?

谢谢

最佳答案

问题在最后。您已将总体日志级别设置为 WARN。将根日志记录级别更改为“调试”,一切都应该没问题。

<root>
    <priority value="warn" />
    <appender-ref ref="console" />
</root>

关于java - Log4j如何配置Log级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14173194/

相关文章:

java - log4j 调试在 Jboss 7.1 中不起作用

java - 使用 JPA Criteria API 添加连接表的 where 子句

java - 用Java绘制一个开放的多边形

java - log4j 是否提供任何机制来每日归档日志?

java - JBoss 7.2.0 不加载我的 log4j

jboss - JBPM 6.1 Final with Jboss Wildfly - 无法启动 .WeldStartService

java - JScrollPane 中的 GridBagLayout 无法正确调整大小

java - struts2中单包多命名空间

apache-spark - spark执行程序中的自定义log4j附加程序

grails - grails 中的 Quartz-Job 在部署到 JBoss 7 时不起作用