2
我有我要记录哪些事件的类。说,有2个级别:调试和错误。我如何将错误记录到errorFile中并将信息调试到debugFile?log4j的:错误的错误文件
所以,我使用的log4j.xml有一个过滤机制,但它似乎只对不同类别的工作,而不是一个类的内部。
请,帮助新手。 =)
我有我要记录哪些事件的类。说,有2个级别:调试和错误。我如何将错误记录到errorFile中并将信息调试到debugFile?log4j的:错误的错误文件
所以,我使用的log4j.xml有一个过滤机制,但它似乎只对不同类别的工作,而不是一个类的内部。
请,帮助新手。 =)
你必须定义和使用两个附加目的地不同阈值这样的:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Error -->
<appender name="ErrorFile"
class="org.apache.log4j.RollingFileAppender">
<param name="Threshold" value="error"/>
<param name="file" value="log.err" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %d %C.%M (%L) - %m%n" />
</layout>
</appender>
<appender name="LogFile"
class="org.apache.log4j.RollingFileAppender">
<param name="Threshold" value="debug"/>
<param name="file" value="log.log" />
<param name="MaxFileSize" value="10MB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %d %C.%M (%L) - %m%n" />
</layout>
</appender>
<logger name="foo.bar" additivity="false">
<level value="debug" />
<appender-ref ref="LogFile" />
<appender-ref ref="ErrorFile" />
</logger>
<root>
<priority value="warn" />
<appender-ref ref="ErrorFile"/>
</root>
</log4j:configuration>
这个问题也回答了在log4j FAQs。
刚刚发现的LogToAppenderByLevel溶液(here),这可能对你也有帮助。
谢谢您的回答。但是,如果LogFile中存在“调试”阈值,则“错误”级别的信息也会存在。我需要INT日志文件不是“INFO”只有“调试”信息,“WARN”,“错误”或“致命”。 – Dmitry 2011-06-14 13:15:33
@Dmitry看一看的[LogToAppenderByLevel](http://wiki.apache.org/logging-log4j/LogToAppenderByLevel)溶液。 – FrVaBe 2011-06-14 14:29:02
它帮助!非常感谢你!!!! – Dmitry 2011-06-14 15:29:26