log4j에서 logger.error ("") 및 logger.debug ("")에 다른 출력 레이아웃을 포함시킬 수있는 방법이 있습니까?디버그 및 오류에 대한 log4j 레이아웃이 다릅니 까?
오류가 발생하면 메소드 이름과 행 번호가 포함되어 애플리케이션 성능이 저하됩니다.
는편집 :
아파치의 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 감사합니다. – Gandalf
. 시도 할 것이다. – sal