본문 바로가기
Python

[Python] Logging 모듈 사용해서 로그 남기기

by teamnova 2025. 9. 7.
728x90

안녕하세요

오늘은 파이썬의 Logging 모듈을 사용해서 로그 남기는 방법에 대해서 알아보도록 하겠습니다.

logging 모듈은 프로그램 실행 중 발생하는 메시지를 체계적으로 기록하는 표준 파이썬 라이브러리입니다.
print()로 디버깅을 많이 하시겠지만, 프로젝트가 커지면 logging이 훨씬 유용해집니다.

 

 

이번 예제에서는,

 

main.py

module_a.py

module_b.py

 

총 3개의 파일이 유기적으로 작동하는것을 기준으로

system.log 파일에 기록을 남겨보도록 하겠습니다.

 

전체 코드입니다.

 

main.py

import logging
import module_a
import module_b

logging.basicConfig(
    filename="system.log",
    level=logging.DEBUG,
    format="%(asctime)s [%(levelname)s] %(name)s - %(message)s"
)

logging.info("메인 실행 시작")
module_a.do_something()
module_b.do_work()

 

module_a.py

import logging

def do_something():
    logger = logging.getLogger("module_a")
    logger.info("module_a 작업 수행 중")

 

module_b.py

import logging

def do_work():
    logger = logging.getLogger("module_b")
    logger.warning("module_b에서 경고 발생!")

 

실행결과 system.log 파일이 생성되도록 했습니다.

기존의 print()는 콘솔에만 찍히지만, logging은 파일에 남겨서 나중에 분석 가능하다는 장점이 있습니다.

 

 

system.log

2025-09-07 14:33:42,484 [INFO] root - 메인 실행 시작
2025-09-07 14:33:42,484 [INFO] module_a - module_a 작업 수행 중
2025-09-07 14:33:42,484 [WARNING] module_b - module_b에서 경고 발생!