🔄 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은 운영 로그를 안전하고 지속 가능하게 관리하는 기본 전략이다. 로그 보관, 크기 제한, 날짜별 관리가 함께 맞물려야 효과적이다.


연결문서

댓글남기기