我正在使用 python 编写守护程序服务器,有时会出现 python 运行时错误,例如某些变量类型不正确。该错误不会导致进程退出。
我可以将此类运行时错误重定向到日志文件吗?
我正在使用 python 编写守护程序服务器,有时会出现 python 运行时错误,例如某些变量类型不正确。该错误不会导致进程退出。
我可以将此类运行时错误重定向到日志文件吗?
看起来你在问两个问题。
为了防止您的进程因错误而退出,您需要捕获所有exception
使用try...except...finally
.
您还希望将所有输出重定向到日志。令人高兴的是,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
模块)。