【发布时间】:2012-02-07 19:22:47
【问题描述】:
我想使用 apache Log4j.jar 在我的网络应用程序中维护两个日志文件:
1) 一个日志将包含每个级别的所有日志消息 2) 第二个日志文件将包含特定类的日志消息
这是我正在使用的配置 XML:(不太了解 XML 中使用的标签,只是在尝试)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="FILE1" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="D:/CSVExportLogs/CSVExportLogFile-ERROR.log"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="Append" value="true"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c (%F:%L) - %m%n"/>
</layout>
</appender>
<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="D:/CSVExportLogs/CSVExportLogFile-INFO.log"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="Append" value="true"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c (%F:%L) - %m%n"/>
</layout>
</appender>
<category name="com.taxware.mgmt.CustomerManager" additivity="false">
<priority value="warn"/>
<appender-ref ref="FILE"/>
</category>
<root>
<priority value="info"/>
<appender-ref ref="FILE1"/>
</root>
</log4j:configuration>
通过上面的 xml,我只在 FILE1 中获取信息消息,我想要所有级别的消息以及警告级别的消息,这些消息将在此文件的单独文件中。有没有可用的解决方案。
【问题讨论】:
-
您当前的配置应该将除 CustomerManager 之外的任何类的所有内容 >= INFO 输出到 FILE1。 CustomerManager >= WARN 中的所有内容都将转到 FILE。你到底想要什么?