Spring Boot File Rotation 로그 파일 설정

이동영·2024년 3월 12일
0

스프링

목록 보기
13/17

Spring Boot는 기본적으로 Logback프레임워크를 사용한다. logback은 기본적으로 application.properties 혹은 application.yaml파일을 통해 로그 로테이션 설정을 세부적으로 할 수 있다.

주요 설정 방법

logging.logback.rollingpolicy.file-name-pattern

  • 로그 파일 보관시 사용되는 파일 이름 패턴을 설정한다.
  • %d{yyyy-MM-dd} 날짜 또는 %i과 같은 플레이스홀더를 사용하여 고유한 파일 이름을 만들 수 있다.

logging.logback.rollingpolicy.clean-history-on-start

  • 애플리케이션 시작시 기존 로그 보관 파일을 삭제할지의 여부를 결정한다.
  • true로 설정시 이전 보관 파일이 모두 삭제 된다.

logging.logback.rollingpolicy.max-file-size

  • 로그 파일이 보관되기 전 최대 크기를 설정한다.
  • 로그 파일이 최대 크기에 도달하면 압축되고 새로운 로그 파일이 생성이 된다.

logging.logback.rollingpolicy.total-size-cap

  • 모든 로그 파일의 총 크기 제한을 설정한다.
  • 보관된 로그의 총 크기가 이 제한을 초과하게 되면 최대 10개 이상의 오래된 보관 파일이 삭제 된다.

logging.logback.rollingpolicy.max-history

  • 보관할 최대 로그 파일의 개수를 설정한다.
  • 새로운 로그 파일이 생성이 되고 보관 파일 수가 이 제한에 도달하면 가장 오래된 보관 파일이 삭제 된다.(기본값 : 7)

예시

logging.file.name=my-app.log
logging.logback.rollingpolicy.file-name-pattern=my-app-%d{yyyy-MM-dd}.log.gz
logging.logback.rollingpolicy.max-file-size=10MB
logging.logback.rollingpolicy.max-history=30
logging.logback.rollingpolicy.total-size-cap=500MB

다른 로깅 시스템 사용 시

만약 logback이외에 로깅 시스템 (예 Log4j2)을 사용하고 있다면, 로테이션 설정은 해당 시스템의 설정파일을 직접 수정하여 관리해야 한다.

별도의 log4j2.xml 혹은 log4j2-spring.xml설정 파일을 만들어 로테이션을 설정한다.

결론 : spring boot에서 logback을 사용하는 경우 apllication.yaml같은 설정 파일을 통하여 로테이션을 설정할 수 있으며 다른 로깅인 log4j2와 같은 라이브러리를 사용할 경우 log4j2.xml 설정파일을 따로 만들어 관리할 수 있다.

profile
가치를 제공하는 개발자

0개의 댓글