스택큐힙리스트

Requests 라이브러리에서 로그 메시지를 비활성화하는 방법은 무엇인가요? 본문

카테고리 없음

Requests 라이브러리에서 로그 메시지를 비활성화하는 방법은 무엇인가요?

스택큐힙리스트 2023. 3. 31. 05:31
반응형

기본적으로 Requests 파이썬 라이브러리는 다음과 같은 형식으로 콘솔에 로그 메시지를 작성합니다.

Starting new HTTP connection (1): example.com

http://example.com:80 GET / HTTP/1.1 200 606

보통 나는 이런 메시지에 관심이 없으며 이를 비활성화하고 싶습니다. 그 메시지를 조용히하거나 요청의 간결성을 줄이는 최선의 방법은 무엇인가요?

답변 1

나는 요청의 로깅 수준을 구성하는 방법을 찾았다. 이것은 일반적인 logging 모듈을 통해 수행된다. 나는 경고 이상의 메시지가 아니면 로그 메시지를 기록하지 않도록 구성하기로 결정했다.

import logging

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

urllib3 라이브러리에도이 설정을 적용하려면 (일반적으로 요청에서 사용 함) 다음을 추가하십시오.

logging.getLogger(urllib3).setLevel(logging.WARNING)

답변 2

리퀘스트 라이브러리에서 로그 메시지를 비활성화하는 방법은 무엇인가요?

Requests 라이브러리는 Python에서 HTTP 요청을 보내는 데 사용되는 인기 있는 라이브러리 중 하나입니다. 그러나 이 라이브러리는 기본적으로 디버그 로그를 출력하므로 일부 사용자는 이러한 메시지를 더 이상 볼 필요가 없다고 느낄 수 있습니다.

Requests 라이브러리에서 로그 메시지를 비활성화하는 방법은 매우 간단합니다. 기본 로거를 가져와 수동으로 사용자 지정 설정을 적용하는 대신, logging 모듈에서 NullHandler 클래스를 사용하면 됩니다. NullHandler 클래스는 모든 로그 메시지를 처리하지 않으므로 요청 라이브러리 내에서 발생하는 로그 메시지도 제거됩니다.

아래는 Requests 라이브러리에서 로그 메시지를 비활성화하는 예시 코드입니다.

```python

import logging

# 로거 생성

logger = logging.getLogger('requests')

# NullHandler를 사용하여 모든 로그 메시지를 처리하지 않음

logger.addHandler(logging.NullHandler())

```

이 코드를 실행한 후 Requests 라이브러리에서 발생하는 로그 메시지를 더 이상 볼 수 없게 됩니다. 코드를 수정하거나 원래 설정을 변경하지 않고 이를 수행할 수 있기 때문에, 이 방법은 다른 응용 프로그램에서 일부 메시지를 비활성화하려는 경우에도 매우 유용합니다.

로그 메시지가 필요하지 않을 때 이 방법을 사용하여 일부 요청 라이브러리 내에서 발생하는 불필요한 메시지를 제거하고 응용 프로그램의 실행 속도를 높일 수 있습니다. 이러한 방법을 사용하여 불필요한 메시지를 제거하면 사용자가 디버그 메시지를 볼 필요 없이 코드를 실행하고 문제를 해결할 수 있습니다.

반응형
Comments