[java] Log4j의 로그 회전 이벤트 설정 방법

Log4j는 로그 파일의 크기나 시간에 따라 로그 파일을 자동으로 회전시킬 수 있는 기능을 제공합니다. 로그 파일이 계속해서 증가하면 디스크 공간을 차지하게 되므로 로그 회전은 중요한 기능입니다. 이번 블로그 포스트에서는 Log4j의 로그 회전 이벤트 설정 방법에 대해 알아보겠습니다.

1. log4j.properties 파일 수정

먼저, Log4j의 설정 파일인 log4j.properties 파일을 열어야 합니다. 이 파일은 일반적으로 프로젝트의 src/main/resources 디렉토리에 있습니다.

로그 파일 회전을 위해 log4j.properties 파일에 다음 코드를 추가합니다.

# 로그 파일의 최대 크기 (예: 10MB)
log4j.appender.file.MaxFileSize=10MB

# 로그 파일의 최대 백업 인덱스 (예: 5개)
log4j.appender.file.MaxBackupIndex=5

# 로그 파일의 회전 이벤트 설정
log4j.appender.file.RollingPolicy=org.apache.log4j.rolling.RollingFileAppender$SizeBasedTriggeringPolicy
log4j.appender.file.triggeringPolicy.MaxFileSize=10MB
log4j.appender.file.triggeringPolicy.ActiveFileName=logs/mylog.log

위 코드에서 MaxFileSize 속성은 각 로그 파일의 최대 크기를 지정하고, MaxBackupIndex 속성은 보관할 백업 로그 파일의 갯수를 지정합니다. 설정에 따라서 적절한 값으로 변경해주시기 바랍니다.

RollingPolicy 속성은 롤링 정책을 지정하고, SizeBasedTriggeringPolicy 클래스는 파일 크기에 따라 로그 파일을 회전시킵니다. triggeringPolicy.MaxFileSize 속성은 파일 크기 기준을 설정하며, triggeringPolicy.ActiveFileName 속성은 현재 활성 로그 파일의 경로와 이름을 지정합니다.

2. 로그 파일 확인

위 설정이 적용된 후에는 Log4j가 설정한 크기에 도달하면 새로운 로그 파일을 생성하게 됩니다. 생성된 로그 파일은 백업될 때까지 유지되며, 백업된 로그 파일은 설정한 MaxBackupIndex 값에 의해 유지됩니다.

로그 파일의 경로와 이름은 log4j.appender.file.File 속성에서 설정할 수 있습니다. 기본값은 logs/mylog.log입니다.

참고 자료

이제 Log4j의 로그 회전 이벤트를 설정하는 방법을 알게 되었습니다. 로그 파일의 크기와 유지할 백업 파일의 수를 적절하게 조정하여 로그 관리를 효과적으로 진행할 수 있습니다.