我用
logging.basicConfig(format='%(levelname)s %(asctime)s %(message)s', level=logging.INFO)
激活 INFO 日志记录和更高的日志记录级别。
是否可以在 Python 脚本末尾检查是否发生错误并以正确的返回值退出脚本(例如 0=成功,1,2...=发生错误)?
我观察到我的 Python 函数一切正常,我没有发现任何错误,但如果我查看 stdout,会发现一些以“ERROR...”开头的日志字符串。我想识别它们并以“不成功”退出脚本。
也许可以检查 stderr(在其中发现错误似乎并不简单......)?
或者使用处理程序和回调函数,然后标记有错误(如何只知道有错误而不知道信息、警告)?
期待一些如何做到这一点的提示!
谢谢,丹尼尔
在谷歌搜索了几个小时......
我强烈鼓励您尽可能避免“黑客攻击”并遵循PEP 20
显式优于隐式。
日志模块的目的是创建消息而不是跟踪错误:)
您可以简单地添加一个自定义类来包装您的记录器,然后使用它来记录 deferred 错误(例如
error_tracker.add(...)
作为列表底层进行日志记录和收集错误)。然后,每当您想检查任何延迟错误时,只需进行简单的 len(error_tracker.errors)
检查即可。