본문 바로가기
Spring

logback 로그 설정하기(에러로그 따로 관리하기)

by devjh 2021. 3. 23.
반응형

이번 게시글에서는 logback.xml에서 에러로그를 따로 관리하는 방법을 정리해보겠습니다.

 

에러로그는 appender 설정에 filter 태그를 추가해 로그 레벨별 로그를 따로 관리 할 수 있습니다.

 

에러로그를 따로 관리하지 않는경우

 

에러가 발생하는경우 버벅거리는 큰 로그파일을 열어서 에러를 찾아야하므로 

 

꼭 설정해주도록 합니다.

 

(file, encoder, rollingPolicy 설정방법은 지난 게시글에 정리했습니다.)

 

logback 로그 설정하기(파일 저장)

이번 게시글에서는 logback 설정을 통해 파일로 로그를 저장하는 방법을 정리해보겠습니다. 기본적인 방식은 저번게시글과 동일합니다.(appender로 로그이벤트설정, root, logger에서 가져다 사용) sprin

frozenpond.tistory.com

1. Logback.xml

<configuration>
    <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>error</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <file>./application_error_log/application.log</file>        
        <encoder>
            <pattern>%d{yyyyMMdd HH:mm:ss.SSS} [%thread] %-5level [%logger{0}:%line] - %msg %n</pattern>
        </encoder>   
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>application_error.log.%d{yyyy-MM-dd}.gz</fileNamePattern>
            <maxHistory>30</maxHistory>
            <totalSizeCap>5GB</totalSizeCap>
        </rollingPolicy>
        
    </appender>

    <root level="info">
        <appender-ref ref="console" />
        <appender-ref ref="file" />
        <appender-ref ref="error" />
    </root>
</configuration>

 

appender은 지난번 파일 로그설정과 동일하지만

 

아래의 filter태그가 추가됩니다.

<filter class="ch.qos.logback.classic.filter.LevelFilter">
  <level>error</level>
  <onMismatch>DENY</onMismatch>
</filter>

태그명이 따로 설명하지 않아도 될 정도로 명확합니다. ㅎ

 

1) level

- error만 따로 정리하고 싶으므로 error를 입력합니다.

 

2) onMismatch

- 레벨이 같지 않은경우 무시하라고 설정합니다.

 

 

 

 

 

반응형

댓글