PYTHON · 예외처리
로깅 (logging)
logging 모듈로 구조화된 로그를 출력하여 디버깅과 모니터링을 수행합니다.
예외처리중급logging로깅로그debug
핵심 설명
logging 모듈로 구조화된 로그를 출력하여 디버깅과 모니터링을 수행합니다.
Python code
import logging
# 기본 설정
logging.basicConfig(
level=logging.DEBUG,
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
datefmt="%H:%M:%S"
)
# 모듈별 로거
logger = logging.getLogger(__name__)
# 로그 레벨
logger.debug("디버그 정보")
logger.info("일반 정보")
logger.warning("경고!")
logger.error("에러 발생")
logger.critical("치명적 에러")
# 예외 정보 포함
try:
result = 1 / 0
except ZeroDivisionError:
logger.exception("계산 오류") # 스택 트레이스 포함
# 구조화된 로깅
def process_order(order_id: int, amount: float):
logger.info(
"주문 처리: order_id=%d, amount=%.2f",
order_id, amount
)
# f-string 대신 % 포맷 사용 (지연 평가)
return {"status": "완료"}
process_order(123, 45000.0)
# 로거 계층 구조
child_logger = logging.getLogger(__name__ + ".sub")
child_logger.info("자식 로거 메시지")학습 팁
로그 메시지에 f-string 대신 % 포맷을 사용하면, 로그 레벨이 낮아 출력되지 않을 때 문자열 포맷팅 비용을 절약합니다.
주의할 점
print() 대신 logging을 사용하세요. 로깅은 레벨 제어, 파일 출력, 포맷 설정 등 운영에 필수적인 기능을 제공합니다.
자주 묻는 질문
로깅 (logging)란 무엇인가요?
logging 모듈로 구조화된 로그를 출력하여 디버깅과 모니터링을 수행합니다.
로깅 (logging) 학습 시 주의할 점은 무엇인가요?
print() 대신 logging 을 사용하세요. 로깅은 레벨 제어, 파일 출력, 포맷 설정 등 운영에 필수적인 기능을 제공합니다.
Continue Learning
Python 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.