2009-04-15 3 views

답변

5

확실히 가능합니다.

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 
    <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
     ... 
    </appender> 

    <appender name="otherAppender" 
       class="org.apache.log4j.FileAppender FileAppender"> 
     ... 
    </appender> 

    <logger name="com.mycompany.mypackage.MyClass"> 
     <level  value="info"/> 
     <appender-ref ref="otherAppender" /> 
    </logger> 

    <root> 
     <priority  value="debug" /> 
     <appender-ref ref="console" /> 
    </root> 
</log4j:configuration> 

모든 디버그 및 정보 메시지가 console 펜더로 이동합니다 구성은 (구문 정확성을 검사하지 않음)과 같이 보일 것입니다. 정보 메시지는 otherAppender입니다.

+0

답변에 약간의 수정을가했습니다. 괜찮 으면 좋겠다. – Eddie

+0

괜찮습니다. 고마워요! –

1

몇 가지 예는 this 페이지로 이동하십시오.

프로그램에 두 개의 서로 다른 appender를 추가하는 것만 큼 간단합니다. 각 로깅 유형에 대해 하나의 appender를 사용하면됩니다.

0

Eddie의 구성을 통해 MyClass의 "info"출력 만 얻을 수 있습니다. 하지만 내가 갖고 싶은 것은 MyClass의 "info"출력이 파일로 보내고 MyClass의 "debug"출력이 콘솔로 간다는 것입니다.

0

은 rwwilden 제안하지만,이 부분 제거 마십시오

<logger name="com.mycompany.mypackage.MyClass"> 
    <level value="info"/> 
    <appender-ref ref="otherAppender" /> 
</logger> 

을 그리고 otherAppender에서 <param name="Threshold" value="INFO"/>를 추가합니다.

10

좋아, 내가 지금 가지고 : 당신의 도움에 대한

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 
    <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
     ... 
    </appender> 

    <appender name="otherAppender" 
       class="org.apache.log4j.FileAppender FileAppender"> 
     <param name="Threshold" value="INFO"/> 
     ... 
    </appender> 

    <root> 
     <priority  value="debug" /> 
     <appender-ref ref="console" /> 
     <appender-ref ref="otherAppender" /> 
    </root> 
</log4j:configuration> 

감사합니다!

관련 문제