首页 > 解决方案 > 越过 sys.excepthook

问题描述

我正在尝试设计一个包含init .py 和多个子模块的包,并且每个模块中都定义了多个类。我使用 python 的日志库来创建日志。我想将任何未捕获的错误记录到我的日志文件中,这可能在程序执行时出现。我了解重写 sys.excepthook 用于实现此目的。因此,在该模块的记录器定义之后,我将以下代码插入到顶部的所有子模块中

def handle_exception(exc_type,exc_value,exc_traceback,logger=logger):
     logger.error("Uncaught exception", exc_info=(exc_type, exc_value, 

sys.excepthook = handle_exception

但这似乎并没有解决问题,因为 RuntimeErrors 仍然显示在控制台上并且没有登录到文件中。

我在这里做错了什么?

标签: pythonexceptionerror-handling

解决方案


推荐阅读