2017-03-28 2 views
0

기본적으로 모든 출력을 콘솔에 기록하는 스프링 부트 응용 프로그램이 있습니다. 내 프로젝트에서는 로깅 및 디버깅 문제를 쉽게 처리 할 수 ​​있도록 로그 파일을 별도로 출력하기 위해 여러 클래스가 필요합니다. 이렇게하려면 다음 logback.xml 파일을 만들었습니다.스프링 부트 logback.xml 파일이 표준 로깅을 중지했습니다

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 

    <property name="LOGS_HOME" value="/tmp/sflogs/" /> 

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

    <appender name="TUMBLR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <file>${LOGS_HOME}tumblr.log</file> 
     <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
      <Pattern> 
       %d{yyyy-MM-dd HH:mm:ss} %-5level - %msg%n 
      </Pattern> 
     </encoder> 

     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <!-- rollover daily --> 
      <fileNamePattern>${LOGS_HOME}tumblr.%d{yyyy-MM-dd}.%i.log</fileNamePattern> 
      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
       <maxFileSize>100MB</maxFileSize> 
      </timeBasedFileNamingAndTriggeringPolicy> 
     </rollingPolicy> 
    </appender> 

    <appender name="SCHEDULER_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <file>${LOGS_HOME}scheduler.log</file> 
     <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> 
      <Pattern> 
       %d{yyyy-MM-dd HH:mm:ss} %-5level - %msg%n 
      </Pattern> 
     </encoder> 

     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <!-- rollover daily --> 
      <fileNamePattern>${LOGS_HOME}scheduler.%d{yyyy-MM-dd}.%i.log</fileNamePattern> 
      <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 
       <maxFileSize>100MB</maxFileSize> 
      </timeBasedFileNamingAndTriggeringPolicy> 
     </rollingPolicy> 
    </appender> 

    <logger name="com.supafanz.controllers.TaskController" level="info" additivity="false"> 
     <appender-ref ref="SCHEDULER_FILE" /> 
    </logger> 

    <logger name="com.supafanz.parsers.TumblrParser" level="info" additivity="false"> 
     <appender-ref ref="TUMBLR_FILE" /> 
    </logger> 

</configuration> 

이 잘 작동하고 추가 로그 파일이 생성되고있다, 그러나이 봄 부팅을 더 이상 출력을 적용는 콘솔에 보통 출력합니다.

누군가 logback.xml 파일을 사용하여 표준 콘솔 로그를 다시 작성하는 방법을 확인할 수 있습니까?

답변

1

당신은 당신이 "SCHEDULER_FILE" 또는 "TUMBLR_FILE"을 실행 같은 곳 "STDOUT"를 실행해야합니다

<root> 
    <appender-ref ref="STDOUT" /> 
</root> 

또는 "SCHEDULER_FILE" 또는 "TUMBLR_FILE"에 추가 :

<logger name="com.supafanz.controllers.TaskController" level="info" additivity="false"> 
    <appender-ref ref="SCHEDULER_FILE" /> 
    <appender-ref ref="STDOUT" /> 
</logger> 

<logger name="com.supafanz.parsers.TumblrParser" level="info" additivity="false"> 
    <appender-ref ref="TUMBLR_FILE" /> 
    <appender-ref ref="STDOUT" /> 
</logger> 
당신은 루트 레벨을 사용할 수 있습니다
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <layout class="ch.qos.logback.classic.PatternLayout"> 
     <Pattern> 
      %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n 
     </Pattern> 
    </layout> 
</appender> 

관련 문제