2017-01-11 1 views
0

콘솔의 모든 정보 수준 출력을보고 싶습니다. 파일의 출력에만 경고합니다.로그백 루트 출력 구성

콘솔의 정보 수준 출력이 명확하게 표시되지만 모든 Info 출력도 파일에 저장되므로 수준 출력 경고가 아닙니다.

여기 내 로그백 구성입니다. 여기서 뭐가 잘못 됐니?

<appender name="console" class="ch.qos.logback.core.ConsoleAppender"> 
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
     <pattern>%d{HH:mm:ss.SSS} %-5level %logger{20} [%mdc{threadid}] - [%mdc{useroid} : %mdc{sessionid}]%msg%n</pattern> 
    </encoder> 
</appender> 

<appender name="consoleFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <prudent>true</prudent> 
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <fileNamePattern>log/console.%d{yyyy-MM-dd}.log</fileNamePattern> 
     <maxHistory>30</maxHistory> 
    </rollingPolicy> 
    <encoder> 
     <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level | %msg%n</pattern> 
    </encoder> 
</appender> 


<root level="INFO"> 
    <appender-ref ref="console" /> 
</root> 

<root level="WARN"> 
    <appender-ref ref="consoleFileAppender" /> 
</root> 
+0

:

여기에 귀하의 작업에 대한 가능한 해결책이 –

답변

1

귀하의 애펜더에 필터를 사용하는 것이 좋습니다. 좀 더 구체적으로 말하면 콘솔에 INFO 만보고 싶다면 콘솔 어 펜더에 특정 LevelFilter를 추가하면됩니다. 모든 로그를 INFO 이상으로 보려면 ThresholdFilter를 사용할 수 있습니다. 당신은 두 개의 루트 레벨 태그가 없습니다

<appender name="console" 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 class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
     <pattern>%d{HH:mm:ss.SSS} %-5level %logger{20} [%mdc{threadid}] - [%mdc{useroid} : %mdc{sessionid}]%msg%n</pattern> 
    </encoder> 
</appender> 

<appender name="FileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <prudent>true</prudent> 
    <filter class="ch.qos.logback.classic.filter.LevelFilter"> 
        <level>WARN</level> 
        <onMatch>ACCEPT</onMatch> 
        <onMismatch>DENY</onMismatch> 
    </filter> 
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <fileNamePattern>log/console.%d{yyyy-MM-dd}.log</fileNamePattern> 
     <maxHistory>30</maxHistory> 
    </rollingPolicy> 
    <encoder> 
     <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level | %msg%n</pattern> 
    </encoder> 
</appender> 

<root level="INFO"> 
    <appender-ref ref="console" /> 
    <appender-ref ref="FileAppender" /> 
</root>