Log Rolling
🔄 Log Rolling이란?
정의
Log Rolling은 로그 파일이 너무 커지지 않도록 일정 기준에 따라 새 파일로 분리하고 이전 로그를 보관하는 방식이다. 로그 파일을 날짜나 크기 기준으로 나눠 관리할 때 자주 사용한다.
🧭 사용하는 이유
- 로그 파일이 너무 커지는 것을 방지한다.
- 오래된 로그를 보관하고 관리하기 쉽다.
- 장애 분석 시 기간별 로그를 찾기 편하다.
- 운영 중 디스크 사용량을 제어할 수 있다.
포인트
로그는 많이 남기는 것보다 찾기 쉽고 오래 보관 가능한 방식으로 운영하는 것이 중요하다.
🧱 Rolling 방식
- Size Based
- Time Based
- Hybrid
Size Based
- 파일 크기가 일정 기준을 넘으면 새 파일로 바꾼다.
Time Based
- 하루, 한 시간 같은 시간 기준으로 파일을 나눈다.
Hybrid
- 시간과 크기를 함께 사용한다.
🛠️ Logback 예시
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxHistory>7</maxHistory>
</rollingPolicy>
</appender>
🧩 자주 함께 보는 도구
- Logback
- Log4j2
- Crontab
logrotate
⚠️ 운영 시 주의할 점
- 보관 기간을 너무 길게 두면 디스크가 빨리 찰 수 있다.
- 반대로 너무 짧게 두면 장애 분석이 어려워진다.
- 로그 포맷과 보관 정책을 함께 맞춰야 한다.
- 다중 인스턴스 환경에서는 파일 경합을 고려해야 한다.
[!important] 정리 Log Rolling은 운영 로그를 안전하고 지속 가능하게 관리하는 기본 전략이다. 로그 보관, 크기 제한, 날짜별 관리가 함께 맞물려야 효과적이다.
댓글남기기