我在我的python代码中使用了httplib,并提到了以下内容。

import httplibhttplib.HTTPConnection.debuglevel = 2

我确实获得了我需要的所有信息,但是httplib库正在控制台上打印它。

我不知道如何将所有这些日志保存在日志文件中,而不是在控制台上。

最佳答案

如果查看httplib源(https://hg.python.org/cpython/file/2.7/Lib/httplib.py),您会看到调试是通过print语句完成的,因此您不能使用日志记录配置来截取日志,并且由于print是一条语句,因此您无法Monkeypatch它来做您的出价。

您有几种选择:


使用httplib的替代方法
子类化HTTPConnection并使用__getattribute__做一些丑陋的事情(或者只是为要记录的每个方法编写传递),并在发生调用时进行记录。
根据您的操作,只需将程序的标准输出重定向到文件中即可。

关于python - 如何在文件中写入日志?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35173118/

10-09 08:29