2010-04-02 5 views
3

logback-test.xml의 모든 외부 라이브러리에서 로그 출력을 비활성화하려고합니다. 여하튼 그것은 광고 한대로 작동하지 않으며, 나는 왜 이해하지 않는다.로거 당 로그백 구성이 작동하지 않습니다.

이 내 logback-test.xml의의 내용입니다 :

<configuration> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
     <layout class="ch.qos.logback.classic.PatternLayout"> 
      <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 
      </Pattern> 
     </layout> 
    </appender> 

    <!-- Turn off third party chatter --> 
    <logger name="httpclient.wire" level="OFF" /> 
    <logger name="o.s" level="OFF"/> 
    <logger name="org.spring" level="OFF"/> 
    <logger name="org.apache" level="OFF"/> 

    <root level="DEBUG"> 
     <appender-ref ref="STDOUT"/> 
    </root> 
</configuration> 

내가 명시 적으로 로거를 org.spring 해제, 아직 난 아직도 봄에서 모든 디버그 출력을 참조하십시오. 그러나, 요소에 다른 레벨을 지정하면 작동합니다. 왜 그런가?

+0

어리석은 질문을하는 것은 의미가 없지만 Spring이 Logback을 통해 로깅하고 있는지 확인 하시겠습니까? 기본적으로 Spring은 JCL을 사용하므로 클래스 경로에 jcl-over-sl4j jar를 추가하고 commons-logging을 제거해야합니다. – ig0774

+0

어리석은 짓이 아니 잖아. jcl-over-sl4j를 프로젝트 종속성으로 추가했지만 commons-logging도 classpath에 있습니다. 누가 그걸 가져 왔는지 알아 내려고. – smirnoff

+0

당신은 무엇을 의존성 관리에 사용하고 있습니까? 메이븐 (Maven)과 아이비 (Ivy)는 모두 도움이 될 수있는 미리 작성된 보고서를 가지고 있습니다 (예 : http://ant.apache.org/ivy/history/2.1.0/use/report.html 및 http://maven.apache.org/plugins). /maven-project-info-reports-plugin/dependencies-mojo.html. – ig0774

답변

11

그리고 대답은 : 로거 이름을 알아라! 모든 스프링 로거는 org.springframework로 시작하며 org.spring으로 시작하지 않습니다. 이름을 고친 후에는 classpath에있는 commons-logging을 사용해도 모든 것이 작동합니다.

+0

이것이 효과가 있다면 자신의 답변을 수락 할 수 있습니다. –