이전의 대답은 잘못입니다 : 당신은 내가 logback 함께 일하고 있어요 여러 root
요소, 관련 기록 level
각과 appender-ref
을 (할 수 있습니다.버전>1.0.13
) 당신도 그런 식으로, 당신의 펜더 내부에 필터를 넣어 가지고이 경우 :
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
<resetJUL>true</resetJUL>
</contextListener>
<!-- To enable JMX Management -->
<jmxConfigurator/>
<appender name="console-info" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
</appender>
<appender name="console-debug" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<pattern>[%d{ddMMMyyyy HH:mm:ss.SS}]%-5level %logger{45} - %msg %n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="console-info"/>
</root>
<root level="debug">
<appender-ref ref="console-debug"/>
</root>
내가 가진'<로거 이름 = "ch.qos"레벨 = "OFF"/> '아직 구성된 두 appender 모두에 로그인하고 있습니다. 어떻게 가능합니까? –
piechuckerr
나는 그 누구도 당신만큼 작은 정보로 도울 수 있을지 의심 스럽다. 해결할 문제가있는 경우 새 질문을 열어주세요. 의견은 여기에 해당하지 않습니다. – sheltem
작동하는 것처럼 보이지만 설명서뿐만 아니라 코드에서 단 하나의 루트 로거 만 지원하므로 루트 로거의 일부 기능이 누락되었다고 생각됩니다. 예 : 2 개의 루트 로거를 선언하고 하나의 레벨이 다른 경우, 기본 레벨은 무엇입니까? [소스 코드] (https://github.com/qos-ch/logback/blob/master/logback-classic/src/main/java/ch/qos/logback/classic/LoggerContext.java)가 생성자에서 _single_ 루트 로거를 초기화합니다. – Rhubarb