我已经编写了一个代码。我需要在调用时写入日志信息 d.addErrback(ON_FAILURE)。
来自twisted.python导入日志的log.startLogging(open('/ home / crytek.etl / foo.log','w'))
def on_failure(失败): log.msg(失败)
d.addErrback(ON_FAILURE)
这是实现此方法的正确方法。我没有写入任何值到该文件。有人建议如何实现这一点
答案 0 :(得分:0)
您可能要考虑在追加模式下打开日志文件。否则,每次您的应用程序启动时,您都会清除所有旧日志。这可能会使您看起来好像没有记录您希望看到的日志消息。
from twisted.python import log
log.startLogging(open('/home/crytek.etl/foo.log', 'a'))
您还应该使用log.err
而不是log.msg
def on_failure(failure):
log.err(failure)
您可以更轻松地执行此操作,因为on_failure
与log.err
具有完全相同的签名。只需写下:
d.addErrback(log.err)
另外,我喜欢,log.err
与on_failure
的签名完全相同。它更好,它接受第二个参数,用于在日志文件中显示失败的标头。您可以像这样使用它:
d.addErrback(log.err, "Frobbing the widget failed")
这将显示“Frobbing the widget failed”以及日志文件中的失败。