我在我的python代码中使用了httplib,并提到了以下内容。
import httplib
httplib.HTTPConnection.debuglevel = 2
我确实得到了我需要的所有信息,但是httplib库正在控制台上打印它。
我不知道我可以通过哪种方式获取日志文件而不是控制台上的所有日志。
答案 0 :(得分:2)
如果您查看httplib源代码(https://hg.python.org/cpython/file/2.7/Lib/httplib.py),您将看到调试是通过print语句完成的,因此您无法使用日志记录配置来拦截日志,并且因为打印是一种声明,您不能将其打包以进行出价。
您有几个选择:
__getattribute__
子类HTTPConnection并执行一些丑陋的操作(或者只为每个要记录的方法写入传递)并在调用发生时记录。答案 1 :(得分:0)
也许试试这个:
f = open('output.txt','w')
sys.stdout = f
将stdout重定向到文件。