2011-06-14 2 views
2

기록 할 이벤트 클래스가 있습니다. 두 레벨이 있습니다 : 디버그 및 오류. errorFile에 오류를 기록하고 debugFile에 정보를 디버깅하려면 어떻게해야합니까?log4j : errorFile에 대한 오류

log4j.xml을 사용하기 때문에 필터 메커니즘이 있지만 한 클래스 안에는 다른 카테고리에서만 작동하는 것처럼 보입니다.

초보자에게 도움을주십시오. =) 당신은 정의하고이 같은 다른 임계 값 두 펜더 사용할 필요가

답변

3

:

<?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)를 발견했다.

+0

답장을 보내 주셔서 감사합니다. 그러나 LogFile에 '디버그'임계 값이있는 경우 '오류'수준의 정보도 함께 포함됩니다. LogFile 'INFO', 'WARN', 'ERROR'또는 'FATAL'이 아닌 'debug'정보 int 만 필요합니다. – Dmitry

+0

@Dmitry [LogToAppenderByLevel] (http://wiki.apache.org/logging-log4j/LogToAppenderByLevel) 솔루션을 살펴보십시오. – FrVaBe

+0

도움이되었습니다. 대단히 감사합니다 !!!! – Dmitry