如何记录未捕获崩溃的回溯



我运行一个无头无人服务器,它将所有内容记录到远程服务器。我在那里运行的应用程序也通过SysLogHandler来实现这一点。它运行良好。

我有程序崩溃的情况(在try: except:未处理的地方),我也想以这种方式记录回溯。这有可能吗?

我特别讨论的是意外回溯,我知道我可以在except:子句中记录异常。

您可以自定义excepthook

当引发并未捕获异常时,解释器调用sys.excepthook有三个参数,异常类、异常实例和回溯目标


import sys
import logging
logger = ...
def excepthook(type_, value, traceback):
    logger.exception(value)
    # call the default excepthook
    sys.__excepthook__(type_, value, traceback)
sys.excepthook = excepthook

最新更新