Python系统日志文件

时间:2012-08-06 14:13:25

标签: python exception logging

我有一个崩溃(看似)不可预测的脚本。我无法弄清楚如何重现它。

Python是否保留了全局系统日志文件,因此我可以回过头来看一下导致退出的异常?如果是这样,在Windows上哪里可以找到它?如果可能,我希望能够看到追溯。

编辑:我知道我可以将整个脚本放在try...except块中,但我不知道我将在多长时间内运行它在它再次崩溃之前。我希望能够至少获得一些关于已经发生的崩溃的粗略信息,即使这些信息只是导致崩溃的异常类型。这样我就可以尝试更可靠地重现bug。

我怀疑崩溃是由与外部设备的通信失败引起的(也许是一条简单的松散电缆)。这些类型的失败基本上是随机的,难以重现,所以我想知道这是通信错误还是真正的代码错误。

2 个答案:

答案 0 :(得分:0)

如果您想了解有关例外的信息,可以使用此代码。

try:
    #do some stuff
    1/0 #stuff that generated the exception
except Exception as ex:
    print ex
    raw_input()

为了正确调试,有一个工具winpdb。有一个非常好的教程可供它学习使用debugging tutorial

进行调试

答案 1 :(得分:0)

你能“抓住”exception吗?如果是,则可以使用traceback打印堆栈跟踪并查明问题发生的位置。

然后你可以使用Eclipse来调试有问题的模块(即使它是python lib的一部分,它将以简单的可读形式)。


import traceback
...
...

try:
    <your script>
except Exception as runtime_ex:
    print runtime_ex, traceback.format_exc()
相关问题