Python日志检查是否发生错误

问题描述 投票:0回答:1

我用

logging.basicConfig(format='%(levelname)s %(asctime)s %(message)s', level=logging.INFO)

激活 INFO 日志记录和更高的日志记录级别。

是否可以在 Python 脚本末尾检查是否发生错误并以正确的返回值退出脚本(例如 0=成功,1,2...=发生错误)?

我观察到我的 Python 函数一切正常,我没有发现任何错误,但如果我查看 stdout,会发现一些以“ERROR...”开头的日志字符串。我想识别它们并以“不成功”退出脚本。

也许可以检查 stderr(在其中发现错误似乎并不简单......)?

或者使用处理程序和回调函数,然后标记有错误(如何只知道有错误而不知道信息、警告)?

期待一些如何做到这一点的提示!

谢谢,丹尼尔

在谷歌搜索了几个小时......

python logging error-handling stdout stderr
1个回答
0
投票

我强烈鼓励您尽可能避免“黑客攻击”并遵循PEP 20

显式优于隐式。

日志模块的目的是创建消息而不是跟踪错误:)

您可以简单地添加一个自定义类来包装您的记录器,然后使用它来记录 deferred 错误(例如

error_tracker.add(...)
作为列表底层进行日志记录和收集错误)。然后,每当您想检查任何延迟错误时,只需进行简单的
len(error_tracker.errors)
检查即可。

© www.soinside.com 2019 - 2024. All rights reserved.