gpt4 book ai didi

python - 异常回溯的选择性处理

转载 作者:行者123 更新时间:2023-12-01 06:01:52 25 4
gpt4 key购买 nike

我正在尝试使用 python 的日志记录模块建立一个异常处理机制,其中包含几层信息以向我的应用程序的用户显示。

在应用程序中,日志记录模块有 2 个处理程序:一个用于保存 DEBUG 信息的文件处理程序和一个用于保存 INFO 信息的流处理程序。默认情况下,日志记录级别设置为 INFO。我想要实现的是一种设置,如果发生任何异常,默认情况下用户会看到一条简单的错误消息,而没有任何回溯。如果日志记录级别设置为 DEBUG,用户仍应收到简单消息,但这次异常回溯通过文件处理程序记录到日志文件中。

有可能实现这个目标吗?

我尝试使用logger.exception(e),但它总是将回溯打印到控制台上。

最佳答案

traceback 模块可能会帮助您。在应用程序的顶层,您应该放置一条 catch all 语句:

setup_log_and_other_basic_services()
try:
run_your_app()
except Exception as e:
if is_debug():
traceback.print_stack()
else:
traceback.print_stack(get_log_file())
print e

不允许 try/catch block 之外的代码崩溃。

关于python - 异常回溯的选择性处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10060840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com