【发布时间】:2010-11-14 01:34:33
【问题描述】:
我正在使用 python 编写守护程序服务器,有时会出现 python 运行时错误,例如某些变量类型不正确。该错误不会导致进程退出。
我是否可以将此类运行时错误重定向到日志文件?
【问题讨论】:
标签: python error-logging
我正在使用 python 编写守护程序服务器,有时会出现 python 运行时错误,例如某些变量类型不正确。该错误不会导致进程退出。
我是否可以将此类运行时错误重定向到日志文件?
【问题讨论】:
标签: python error-logging
您似乎在问两个问题。
为防止您的进程因错误而退出,您需要捕获使用try...except...finally 引发的所有exceptions。
您还希望将所有输出重定向到日志。令人高兴的是,Python 提供了一个全面的logging 模块以方便您使用。
举个例子,让你高兴和高兴:
#!/usr/bin/env python
import logging
logging.basicConfig(filename='warning.log', level=logging.WARNING)
try:
1/0
except ZeroDivisionError, e:
logging.warning('The following error occurred, yet I shall carry on regardless: %s', e)
这优雅地发出:
% cat warning.log
WARNING:root:The following error occurred, yet I shall carry on regardless: integer division or modulo by zero
【讨论】:
查看traceback 模块。如果您捕获到RuntimeError,您可以将其写入日志(查看logging 模块)。
【讨论】: