Python에서 HTTP 요청을 처리할 때 requests 모듈이 출력하는 디버그 로그 메시지가 콘솔을 어지럽히는 경우가 있습니다. 이런 로그 메시지는 파이썬 표준 라이브러리인 logging 모듈을 사용하면 간단하게 비활성화할 수 있습니다.
로그 레벨 조정으로 로그 메시지 숨기기
다음 코드를 사용하면 requests 모듈의 로그 중 경고(Warning) 수준 이상의 메시지만 출력되도록 설정할 수 있습니다:
import logging
logging.getLogger("requests").setLevel(logging.WARNING)위 코드는 requests 로거의 로그 레벨을 WARNING으로 지정하여, 그보다 낮은 수준인 DEBUG나 INFO 메시지는 더 이상 출력되지 않게 합니다.
더 엄격하게 설정하기
오류나 치명적인 문제가 발생했을 때만 로그를 확인하고 싶다면, 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)이렇게 하면 불필요한 로그 메시지 없이 깔끔한 콘솔 환경을 유지할 수 있으며, 정말 중요한 경고나 오류 메시지만 놓치지 않고 확인할 수 있습니다.