我运行一个无头无人服务器,它将所有内容记录到远程服务器。我在那里运行的应用程序也通过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