在log4j的,是有辦法有logger.error(「」)和logger.debug(「」)包括不同的輸出佈局?用於調試和錯誤的不同log4j佈局?
我想錯誤,包括方法名和行號,這兩個減慢應用程序的性能。
編輯:
加入Apache的log4j的-演員後,下面的配置文件的工作。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="WARNINGS" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="warnings.log"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MMM-dd HH:mm:ss} %-5p %c - %m%n%n"/>
</layout>
<filter class="org.apache.log4j.filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG"/>
<param name="LevelMax" value="WARN"/>
</filter>
</appender>
<appender name="ERRORS" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="errors.log"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.PatternLayout">
<!-- %M for method name , %L for line number -->
<param name="ConversionPattern" value="%d{yyyy-MMM-dd HH:mm:ss} %-5p %c %M %L - %m%n%n"/>
</layout>
<filter class="org.apache.log4j.filter.LevelRangeFilter">
<param name="LevelMin" value="ERROR"/>
<param name="LevelMax" value="FATAL"/>
</filter>
</appender>
<logger name="com.foo.bar">
<appender-ref ref="WARNINGS"/>
<appender-ref ref="ERRORS"/>
</logger>
</log4j:configuration>
此代碼是用來測試
// goes to errors.txt
log.error("error");
//goes to warnings.txt
log.warn("warn");
在你ConversionPattern您可能需要使用%d {} ISO8601這是一個優化的時間格式化程序的log4j提供的便利性和速度方面的考慮。 – Gandalf 2009-06-19 17:12:01
@Gandalf謝謝。會嘗試。 – sal 2009-06-19 19:11:05