如果没有捕获一些异常,如何记录后台python脚本的输出

时间:2011-10-27 03:36:43

标签: python logging

我有一个在后台运行的python脚本,我想记录所有异常并输出到日志文件。

我知道使用日志记录模块和try.. catch..来记录异常,但是如果我错过了一些,有什么方法可以记录这些异常吗?

2 个答案:

答案 0 :(得分:2)

通常的技术是在最高级别调用(主函数)中使用try / except Exception 。这几乎可以保证你不会“错过一些”。 异常匹配非退出异常,因此它会投射广泛的网络。

答案 1 :(得分:0)

您可以将sys.stdoutsys.stderr重新分配给文件句柄。如果遇到未捕获的异常,它们将在您的python退出后可用。像这样:

import sys

sys.stdout = open('myOut.txt', 'w')
sys.stderr = open('myErr.txt', 'w')