본문 바로가기
Category/Python

RotatingFileHandler란?

by Corinee 2024. 9. 16.
728x90
반응형

logging.handlers.RotatingFileHandler는 Python 표준 라이브러리의 logging 모듈에서 제공하는 핸들러로, 로그 파일의 크기가 설정된 maxBytes 값을 초과하면 자동으로 로그 파일을 새로 생성하고, 오래된 파일은 백업하는 기능을 제공합니다.

이 핸들러를 사용하면 로그 파일이 무한정 커지지 않도록 관리할 수 있고, 파일이 일정 크기를 초과할 경우 새 파일로 롤링(rotate)되어 이전 로그도 유지됩니다.

주요 매개변수:

  • maxBytes: 로그 파일이 이 크기를 초과하면 새로운 파일로 롤링됩니다. (0이면 롤링하지 않음)
  • backupCount: 유지할 로그 파일의 최대 개수. 이 수를 초과하면 가장 오래된 파일이 삭제됩니다.
  • filename: 로그 파일의 경로와 이름을 지정합니다.

예시:

'file': {
    'level': 'INFO',
    'filters': ['require_debug_false'],
    'class': 'logging.handlers.RotatingFileHandler',
    'filename': BASE_DIR / 'logs/mysite.log',
    'maxBytes': 1024*1024*5,  # 5MB
    'backupCount': 5,          # 최대 5개의 로그 파일 유지
    'formatter': 'standard',
}

이 설정은 최대 5MB의 로그 파일을 만들고, 최대 5개의 파일을 유지하는 방식으로 작동합니다. 로그 파일이 5MB를 초과하면 새 로그 파일이 생성되고, 5개의 로그 파일을 초과하면 가장 오래된 파일이 삭제됩니다.

따라서 RotatingFileHandler를 사용하면 로그 파일 관리가 수월해지며, 디스크 용량을 보호하면서도 로그를 오래 유지할 수 있습니다.

'Category > Python' 카테고리의 다른 글

SQLAlchemy란?  (2) 2024.09.18
Python 가상 환경이란?  (1) 2024.09.16
파이썬 객체를 문자열로 표현하기 __str__  (0) 2024.09.11
pip란?  (0) 2024.09.10
pip를 최신 버전으로 업그레이드하려면?  (0) 2024.09.10