프로그래밍 언어/Python

디버그 정보와 함께 Python 오류를 기록하는 방법

Rateye 2021. 12. 11. 15:41
728x90
반응형
질문 : 디버그 정보와 함께 Python 오류를 어떻게 기록합니까?

logging.error 로 Python 예외 메시지를 로그 파일에 인쇄하고 있습니다.

import logging
try:
    1/0
except ZeroDivisionError as e:
    logging.error(e)  # ERROR:root:division by zero

예외 문자열뿐만 아니라 예외 및이를 생성 한 코드에 대한 자세한 정보를 인쇄 할 수 있습니까? 줄 번호 또는 스택 추적과 같은 것들이 좋을 것입니다.

답변

logger.exception 은 오류 메시지와 함께 스택 추적을 출력합니다.

예를 들면 :

import logging
try:
    1/0
except ZeroDivisionError:
    logging.exception("message")

산출:

ERROR:root:message
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
ZeroDivisionError: integer division or modulo by zero

@Paulo Check 는 "Python 3 except logging.exception 메소드를 호출해야합니다. 임의의 장소에서이 메소드를 호출하면 기괴한 예외가 발생할 수 있습니다. 문서는 이에 대해 경고합니다."라고 말합니다.

출처 : https://stackoverflow.com/questions/5191830/how-do-i-log-a-python-error-with-debug-information
728x90
반응형