Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Requests 모듈의 로그 메시지 비활성화 방법

Python에서 HTTP 요청을 처리할 때 requests 모듈이 출력하는 디버그 로그 메시지가 콘솔을 어지럽히는 경우가 있습니다. 이런 로그 메시지는 파이썬 표준 라이브러리인 logging 모듈을 사용하면 간단하게 비활성화할 수 있습니다.

로그 레벨 조정으로 로그 메시지 숨기기

다음 코드를 사용하면 requests 모듈의 로그 중 경고(Warning) 수준 이상의 메시지만 출력되도록 설정할 수 있습니다:

import logging
logging.getLogger("requests").setLevel(logging.WARNING)

위 코드는 requests 로거의 로그 레벨을 WARNING으로 지정하여, 그보다 낮은 수준인 DEBUGINFO 메시지는 더 이상 출력되지 않게 합니다.

더 엄격하게 설정하기

오류나 치명적인 문제가 발생했을 때만 로그를 확인하고 싶다면, logging.WARNING 대신 다른 로그 레벨로 교체하면 됩니다:

  • logging.ERROR: 오류(Error) 수준 이상의 메시지만 기록합니다.
  • logging.CRITICAL: 치명적(Critical) 오류만 기록합니다.
import logging
# 오류 메시지만 출력
logging.getLogger("requests").setLevel(logging.ERROR)

# 치명적인 오류만 출력
logging.getLogger("requests").setLevel(logging.CRITICAL)

참고: urllib3 로그 함께 끄기

requests는 내부적으로 urllib3 라이브러리를 사용하기 때문에, 연결 관련 디버그 메시지가 계속 출력될 수 있습니다. 이 경우 아래와 같이 urllib3 로거도 함께 설정해 주는 것이 좋습니다:

import logging
logging.getLogger("urllib3").setLevel(logging.WARNING)
logging.getLogger("requests").setLevel(logging.WARNING)

이렇게 하면 불필요한 로그 메시지 없이 깔끔한 콘솔 환경을 유지할 수 있으며, 정말 중요한 경고나 오류 메시지만 놓치지 않고 확인할 수 있습니다.