无法打印文件中的调试语句



我在我的java应用程序中使用log4j来记录消息。使用的 jar 文件log4j-1.2.17.jar。下面是日志文件。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true" xmlns:log4j='http://jakarta.apache.org/log4j/'>
        <appender name="console" 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 %-5p %c{1}:%L %m %n" />
            </layout>
        </appender>
        <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
            <param name="Threshold" value="INFO" />
            <param name="Threshold" value="debug" />
            <param name="maxFileSize" value="10MB" />
            <param name="maxBackupIndex" value="10" />
            <param name="file" value="D/logs/projectLog.log"/>
            <param name="append" value="true" />
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L %m %n" />
            </layout>
        </appender>
    <root>
        <priority value="info"></priority>
        <appender-ref ref="fileAppender" />
    </root>
</log4j:configuration>

我在我的应用程序中使用了上述日志文件。日志文件已成功生成,但在日志文件中,调试消息未打印。

在我的Java类中,以下是我包含的语句。

LOGGER.info("In TestMVCController, logger info");
System.out.println("is debug enabled" +  LOGGER.isDebugEnabled());//always false even when server is started in debug mode
LOGGER.debug("In TestMVCController, logger debug");
LOGGER.error("In TestMVCController, logger errror");

在我的日志文件中,我只能看到正在打印的信息和错误消息。调试语句在哪种情况下打印,如何使日志语句打印调试语句?任何建议都会有所帮助。

将根的优先级值从"info"更改为"debug":

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

这会将根记录器配置为将"DEBUG"或更高级别日志消息发送到追加器"fileAppender"。 然后,"fileAppender"可以设置它想要记录的阈值(调试,信息,警告等(。

注意:追加器的"阈值"参数是可选的。 如果省略它,追加程序将在根记录器定义的级别进行记录。 如果有多个追加器,则可以使用"阈值"。 例如:控制台追加器的 DEBUG 和文件追加器的 INFO。

最新更新