默认情况下,Requests python库将日志消息写入控制台,如下所示:
Starting new HTTP connection (1): example.com
http://example.com:80 "GET / HTTP/1.1" 200 606
我通常对这些消息不感兴趣,并想禁用它们。让这些消息静默或减少请求冗长的最好方法是什么?
发布于 2014-02-12 18:55:26
import logging
urllib3_logger = logging.getLogger('urllib3')
urllib3_logger.setLevel(logging.CRITICAL)
这样,来自urllib3的所有level=INFO消息都不会出现在日志文件中。
因此,您可以继续使用日志messages...just的level=INFO,为您正在使用的库修改此are。
发布于 2016-02-02 03:53:00
对于使用logging.config.dictConfig
的任何人,您可以更改字典中的请求库日志级别,如下所示:
'loggers': {
'': {
'handlers': ['file'],
'level': level,
'propagate': False
},
'requests.packages.urllib3': {
'handlers': ['file'],
'level': logging.WARNING
}
}
发布于 2013-04-17 01:08:46
在遇到与您类似的问题后,让我复制/粘贴我在一两周前写的文档部分:
import requests
import logging
# these two lines enable debugging at httplib level (requests->urllib3->httplib)
# you will see the REQUEST, including HEADERS and DATA, and RESPONSE with HEADERS but without DATA.
# the only thing missing will be the response.body which is not logged.
import httplib
httplib.HTTPConnection.debuglevel = 1
logging.basicConfig() # you need to initialize logging, otherwise you will not see anything from requests
logging.getLogger().setLevel(logging.DEBUG)
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True
requests.get('http://httpbin.org/headers')
https://stackoverflow.com/questions/11029717
复制相似问题