2012-12-20 2 views
0

모든 것에는 INFO를, 하나의 패키지에는 DEBUG을 원합니다. 다양한 변형을 시도했습니다.일부 클래스에 대해 log4net을 다른 레벨로 구성하려면 어떻게합니까?

<log4net> 
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <param name="File" value="C:/temp/AutoTag.log"/> 
     <param name="AppendToFile" value="true"/> 
     <param name="MaxSizeRollBackups" value="2"/> 
     <param name="MaximumFileSize" value="100KB"/> 
     <param name="RollingStyle" value="Size"/> 
     <param name="StaticLogFileName" value="true"/> 
     <layout type="log4net.Layout.PatternLayout"> 
      <param name="ConversionPattern" value="%d [%t] ac.server %-5p %c - %m%n"/> 
     </layout> 
    </appender> 
    <root> 
     <level value="INFO"/> 
     <appender-ref ref="RollingFileAppender"/> 
    </root> 
    <logger name="AutoTagCore.net.windward.autotag.utils"> 
     <level value="DEBUG"/> 
    </logger> 
</log4net> 

아무 것도 작동하지 않습니다. <root/> 부분을 제거하면 하나의 패키지에 자세한 내용이 표시됩니다. 그렇지 않으면 마치 <logger/> 부분이없는 것입니다.

나는이 작업을 수행 할 수 있습니까? (전체 log4net 부분을 표시하려면으로 업데이트).

업데이트 2 : 나는 바보입니다. 거기에 잘못된 패키지 이름이 있습니다.

+0

AutoTagCore.net.windward.autotag.utils 부분이 맞습니까? 참고 GetLogger는 대/소문자를 구분합니다. – sgmoore

답변

1

로거는 루트의 모든 애펜더를 상속합니다.

<root> 
    <level value="INFO"/> 
    <appender-ref ref="RollingFileAppender"/> 
</root> 
<logger name="AutoTagCore.net.windward.autotag.utils"> 
    <level value="DEBUG"/> 
</logger> 

BTW이 펜더 설정을 확인합니다 -이 INFO 수준으로 제한 할 수 있습니다 : 당신은 수준을 지정해야합니다

<threshold value="INFO"/> 

그리고 마지막으로 가능한 문제 - 당신은 다른 유형의 네임 스페이스와 로거 이름을 가질 수 있습니다 (어쩌면 약간의 오타).

+0

나는 그것을 시도했다 (그리고 다시 시도했다) - 여전히 받아들이지 않는다. –

+0

@DavidThielen은 appender 구성을 제공 할 수 있습니까? 또는 지정된 임계 값이 있는지 확인하십시오. –

+0

방금 ​​전체 log4net 부분을 표시하도록 편집했습니다. 임계 값 없음. –

관련 문제