在Python中将异常保存到文件
我想把所有出现的错误信息保存到一个文件里。这样做的原因是,在Ubuntu上使用Python 3.1.1的IDLE时,调用提示信息时会出现错误,但它关闭得太快,让我根本来不及看清楚。另外,我也需要这个功能来进行测试。最理想的情况是,我只需要调用一个函数,就能把所有的错误信息保存到文件里。谢谢!;)
// 编辑:
我一开始是想找一个更通用的方法!这样就不需要把整个代码放在一个函数里或者缩进里面。不过现在这个方法对我来说效果很好。尽管如此,如果你能找到其他方法,我还是会很感激的!
谢谢!
1 个回答
39
如果你有一个方便的 main()
函数(不管它叫什么),那么你可以使用日志模块:
import logging
def main():
raise Exception("Hey!")
logging.basicConfig(level=logging.DEBUG, filename='/tmp/myapp.log')
try:
main()
except:
logging.exception("Oops:")
logging.exception
可以方便地获取当前的异常信息,并把详细内容记录到日志里:
ERROR:root:Oops:
Traceback (most recent call last):
File "C:\foo\foo.py", line 9, in <module>
main()
File "C:\foo\foo.py", line 4, in main
raise Exception("Hey!")
Exception: Hey!