python - 越过 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 仍然显示在控制台上并且没有登录到文件中。
我在这里做错了什么?
解决方案
推荐阅读
- trace32 - 有什么方法可以使用 TRACE32 cmm 脚本或命令计算 RAM 和 ROM 使用率?
- javascript - 无法将文档插入 mongodb 集合 node.js
- kubernetes - 您可以将 kubernetes.io/basic-auth 类型的机密绑定到 ServiceAccount 机密以进行 API 访问吗
- node.js - 将数据从 Express 传递到 HTML (Pug) 以显示 Chart.js
- mysql - 使用equal的Mysql where子句不起作用,只能使用LIKE
- azure - 使用入站 NAT 对安全性有何帮助?
- asp.net - 在 ASP.NET 核心 (.NET5) 中,如何将每个请求的日志写入单独的文件?使用 Serilog 或其他
- unity3d - 如何使用画布 LMS API 和 UnityWeb 请求或类似工具发布作业成绩?
- react-native - onFocus 功能在 TV App React Native FlatList 中不起作用
- django - 芹菜任务仍然“待定”