파이썬 로그 관리, loguru로 더 쉽게! 설정부터 파일 저장까지 정리
파이썬에서 로그를 남기려면 logging
모듈을 사용하지만, 설정이 복잡하고 불편하게 느껴질 수 있습니다.
이럴 때 간편한 설정과 강력한 기능을 제공하는 loguru
라이브러리를 활용하면 로그 관리가 훨씬 쉬워집니다.
✅ loguru 설치 방법
pip install loguru
설치 후 바로 사용할 수 있으며, 추가 설정 없이도 로그 출력이 가능합니다.
✅ 기본 사용법
from loguru import logger
logger.info("이것은 정보 로그입니다.")
logger.warning("이것은 경고 로그입니다.")
logger.error("이것은 오류 로그입니다.")
출력 예시:
2025-02-19 12:00:00.000 | INFO | __main__:1 - 이것은 정보 로그입니다.
2025-02-19 12:00:00.001 | WARNING | __main__:2 - 이것은 경고 로그입니다.
2025-02-19 12:00:00.002 | ERROR | __main__:3 - 이것은 오류 로그입니다.
✅ 로그를 파일로 저장하기
logger.add("logfile.log", rotation="10 MB") # 10MB 단위로 자동 분할
logger.info("파일에 저장되는 로그입니다.")
용량이 초과되면 logfile.log
, logfile.log.1
, logfile.log.2
처럼 자동으로 파일이 분할 저장됩니다.
✅ 로그 출력 형식 커스터마이징
logger.add(
"logfile.log",
format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message}",
level="INFO"
)
logger.debug("이 로그는 출력되지 않습니다.")
logger.info("이 로그는 출력됩니다.")
format
을 지정해 출력 형식을 자유롭게 설정할 수 있고, level
로 로그 레벨 필터링도 가능합니다.
✅ 로그 보존 기간 설정
loguru는 오래된 로그를 자동으로 삭제할 수 있도록 retention
설정을 지원합니다.
logger.add(
"runtime.log",
rotation="1 day", # 하루 단위로 분할
retention="7 days" # 7일 이상 된 로그는 자동 삭제
)
retention
에는 문자열(예: "7 days", "30 days") 또는 datetime 객체를 사용할 수 있습니다.
✅ 로그 압축 저장 설정
로그 파일이 분할될 때, 자동으로 압축해 저장할 수도 있습니다.
logger.add(
"compressed_log.log",
rotation="5 MB",
retention="10 days",
compression="zip" # 또는 'gz', 'bz2', 'xz'
)
압축 포맷은 zip
, gz
, bz2
, xz
등을 지원하며, 로그 저장 공간을 절약할 수 있습니다.
✅ 정리
- loguru는 설정이 간단하면서도 매우 강력한 로그 관리 기능을 제공합니다.
- 기본 로그 출력부터 파일 분할, 보존 기간, 자동 압축까지 모두 한 줄 설정으로 가능합니다.
- 복잡한 로깅 설정이 필요한 프로젝트에서도 빠르게 적용할 수 있는 실용적인 도구입니다.
파이썬 프로젝트에서 로그 관리가 필요하다면 loguru를 도입해보세요.
간결한 문법과 다양한 기능 덕분에 개발 효율이 확실히 올라갑니다.
※ 본 포스트는 Python 3.12 환경을 기준으로 작성되었습니다.
반응형
'프로그래밍 > Python' 카테고리의 다른 글
FastAPI에서 POST 요청 처리하기 - 사용자 입력 데이터 받기 예제 (0) | 2025.03.20 |
---|---|
FastAPI로 빠르고 간단한 파이썬 API 서버 만들기 - 설치부터 기본 예제까지 (0) | 2025.03.20 |
파이썬 데이터 검증을 쉽게 해주는 Pydantic 라이브러리 사용법 (0) | 2025.03.20 |
파이썬으로 네이버 주식 데이터 스크래핑하는 방법 (BeautifulSoup 사용) (0) | 2025.03.19 |
[Python] Pillow 라이브러리로 이미지 처리하는 5가지 방법 (0) | 2025.03.19 |