Java 调试未保存在debug.log下
我使用xml配置使用log4j创建了一个应用程序,应用程序根据级别保存日志,…ierror logs到error.log,info logs到info.log 应用程序工作正常,但调试日志未保存在debug.log文件下。rest所有日志都已正确保存 谁能告诉我一些解决方法吗 我的log4jConfig.xml如下所示Java 调试未保存在debug.log下,java,xml,servlets,logging,log4j,Java,Xml,Servlets,Logging,Log4j,我使用xml配置使用log4j创建了一个应用程序,应用程序根据级别保存日志,…ierror logs到error.log,info logs到info.log 应用程序工作正常,但调试日志未保存在debug.log文件下。rest所有日志都已正确保存 谁能告诉我一些解决方法吗 我的log4jConfig.xml如下所示 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "lo
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="debug-out" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${openfireHome}/logs/debug.log" />
<param name="MaxFileSize" value="1024KB"/>
<param name="MaxBackupIndex" value="5"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-7p %10c{1} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="debug" />
<param name="LevelMin" value="debug" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>
<appender name="info-out" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${openfireHome}/logs/info.log" />
<param name="MaxFileSize" value="1024KB"/>
<param name="MaxBackupIndex" value="5"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-7p %10c{1} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="info" />
<param name="LevelMin" value="info" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>
<appender name="warn-out" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${openfireHome}/logs/warn.log" />
<param name="MaxFileSize" value="1024KB"/>
<param name="MaxBackupIndex" value="5"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-7p %10c{1} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="warn" />
<param name="LevelMin" value="warn" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>
<appender name="error-out" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${openfireHome}/logs/error.log" />
<param name="MaxFileSize" value="1024KB"/>
<param name="MaxBackupIndex" value="5"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-7p %10c{1} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="error" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>
<root>
<level value="info" />
<appender-ref ref="debug-out" />
<appender-ref ref="info-out" />
<appender-ref ref="warn-out" />
<appender-ref ref="error-out" />
</root>
</log4j:configuration>
这是因为您的根级别:
<root>
<level value="info" />
<appender-ref ref="debug-out" />
<appender-ref ref="info-out" />
<appender-ref ref="warn-out" />
<appender-ref ref="error-out" />
</root>
您需要将级别值设置为“debug”
调试<信息<警告<错误
调试是四个测试中最详细的一个
由于您已将其保存在INFO中,因此下面的所有日志级别都可以正确打印。您需要更改根日志记录器级别。如果您需要所有级别,可以放置以下内容:
以下是log4j中可用的级别:
Level
-----
ALL # Everything is written.
TRACE
DEBUG
INFO
WARN
ERROR
FATAL
OFF # Nothing is written.
所有
和关闭
都是特殊级别
如果您需要一个包含所有级别的日志,请添加一个未筛选且没有阈值的附加器。e、 g:
<appender name="out" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${openfireHome}/logs/out.log" />
<param name="MaxFileSize" value="1024KB"/>
<param name="MaxBackupIndex" value="5"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-7p %10c{1} - %m%n" />
</layout>
</appender>
在根记录器中:
<root>
<level value="all" />
<appender-ref ref="out" />
<appender-ref ref="debug-out" />
<appender-ref ref="info-out" />
<appender-ref ref="warn-out" />
<appender-ref ref="error-out" />
</root>
所以我需要改为
而不是
。。。。如果我这样做,我会得到所有其他日志…或者我会错过任何其他的。您不会错过代码中的任何内容。跟踪是最详细的一个。阅读本文了解更多信息:如果我想要一个日志文件同时保存所有基于级别的日志…我必须做的事情。您只在错误输出
附录中指定了LevelMin
。
<root>
<level value="all" />
<appender-ref ref="out" />
<appender-ref ref="debug-out" />
<appender-ref ref="info-out" />
<appender-ref ref="warn-out" />
<appender-ref ref="error-out" />
</root>