java - Log4j 级别不适用于根记录器

标签 java log4j

好吧,这让我发疯。我有一个使用 log4j 1.2.16 的应用程序,我的配置文件已正确选取,并且 log4j 写入我想要的文件,但它只记录错误级别。

代码:

    import org.apache.log4j.Logger;

     - (... code omitted)

    private static final Logger LOGGER = Logger.getLogger(PostLoginController.class);

    LOGGER.debug("TOTO debug");
    LOGGER.info("TOTO Info");
    LOGGER.warn("TOTO warn");
    LOGGER.error("TOTO error");

XML:

<appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/jboss/jboss-eap-6.4/standalone/log/myLogFile.log"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p [%t:%c] : %m%n"/>
    </layout>
</appender>

<!-- Root Logger -->
<root>
    <priority value ="debug" />
    <appender-ref ref="fileAppender"/>
</root>

当我的应用程序运行时,会创建 myLogFile,我可以在其中看到错误日志,但看不到其他日志:

2019-06-06 19:37:31 ERROR [http-/0.0.0.0:8080-2:my.classpath.PostLoginController] : TOTO error

知道这里出了什么问题吗?

最佳答案

您必须像这样使用来记录调试错误。

<log4j:configuration debug="false">

    <appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
        <param name="target" value="System.out" />
        <param name="threshold" value="debug" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{ISO8601} %-5p [%c{1}] - %m%n" />
        </layout>
    </appender>

    <appender name="fileAppender" class="org.apache.log4j.FileAppender">
        <param name="file" value="/jboss/jboss-eap-6.4/standalone/log/myLogFile.log"/>
        <param name="append" value="false" />
        <param name="threshold" value="debug" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{ISO8601} %-5p [%c{1}] - %m%n" />
        </layout>
    </appender>

    <root>
        <priority value="info" />
        <appender-ref ref="default.console" />
        <appender-ref ref="default.file" />
    </root>
</log4j:configuration>

关于java - Log4j 级别不适用于根记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56483988/

相关文章:

java - 写入 .dat 文件,递增数字

java - 尝试将列表转换回数组时出现 NullPointerException

java - 有没有办法在 Android/Java 发送之前获取 HttpUriRequest 的内容长度?

java - Java 中的本地化异常

java - 为什么下面的Java Stream filter方法没有抛出NullPointerException

java - 如何关闭 log4j HTMLLayout 中的表格

java - Lang ToStringBuilder 请求参数记录

java - 使用 Log4j 和 slf4j 日志文件中没有输出

java - 在文件 log4j 的开头附加日志消息

grails - Grails 中单个类的输出日志到文件