如何重定向python运行时错误?

时间:2010-11-14 01:34:33

标签: python error-logging

我正在使用python编写一个守护进程服务器,有时会出现python运行时错误,例如某些变量类型不正确。该错误不会导致进程退出。

我是否可以将此类运行时错误重定向到日志文件?

2 个答案:

答案 0 :(得分:5)

看起来你问了两个问题。

要防止您的进程退出错误,您需要捕获使用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

答案 1 :(得分:2)

查看traceback模块。如果您捕获RuntimeError,则可以将其写入日志(请查看logging模块)。