파이썬 로그 관리, loguru로 더 쉽게! 설정부터 파일 저장까지 정리

2025. 3. 20. 10:00·프로그래밍/Python

파이썬 로그 관리, 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
'프로그래밍/Python' 카테고리의 다른 글
  • FastAPI에서 POST 요청 처리하기 - 사용자 입력 데이터 받기 예제
  • FastAPI로 빠르고 간단한 파이썬 API 서버 만들기 - 설치부터 기본 예제까지
  • 파이썬 데이터 검증을 쉽게 해주는 Pydantic 라이브러리 사용법
  • 파이썬으로 네이버 주식 데이터 스크래핑하는 방법 (BeautifulSoup 사용)
큐레이트
큐레이트
저의 일상을 기록하는 블로그입니다.
  • 큐레이트
    큐레이트의 기록
    큐레이트
  • 전체
    오늘
    어제
    • 분류 전체보기 (186)
      • 국내여행 (37)
        • 애견여행 (33)
        • 맛집여행 (2)
      • 프로그래밍 (81)
        • C# (24)
        • Python (23)
        • Flutter (5)
        • .NET (4)
        • ASP (7)
        • Html (5)
        • Tomcat (2)
        • typescript (3)
        • etc (8)
      • 일상생활 (68)
        • 다이어트일지 (67)
        • 기타 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 복이랑스마트스토어
    • 복이랑블로그
  • 공지사항

    • 블로그 소개
  • 인기 글

  • 태그

    Flutter
    국내여행
    DevExpress
    제주도애견동반여행
    오운완
    자동매매
    파이썬
    iis
    Python
    애견동반
    pt
    식단관리
    다이어트
    다이어트 일지
    식단
    오블완
    체중기록
    C#
    애견동반여행
    티스토리챌린지
    운동일지
    일상생활
    제주도
    코인자동매매
    애견여행
    FastAPI
    제주도 애견동반
    다이어트일지
    입력폼
    HTML
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
큐레이트
파이썬 로그 관리, loguru로 더 쉽게! 설정부터 파일 저장까지 정리
상단으로

티스토리툴바