Python----Python中使用logging模块打印异常调用栈的三种方法

【原文链接】Python----Python中使用logging模块打印异常调用栈的三种方法

1、通过logging.exception方法

通过logging.exception方法是最简单的一种,如下所示

import logging

try:
    b=1/0
except Exception as e:
    logging.exception(f"exception occurs when do math compute,traceback is:\n{e}")

执行结果如下所示,可以看出,这里使用的logging.exception方法,打印出来的是Error级别的日志。

2、通过logging.info方法

在有些情况下,期望报出的异常信息以及异常调用栈不打印Error级别的日志,而是打印info级别的,比如在做一些容错或者重试机制时,通常不希望在重试或者容错过程中报错误信息,此时注意logging的默认级别为warning,因此为了显示info级别的日志,需要首先想logging的日子级别设置为info,此时如果希望打印异常调用栈,则需要通过traceback模块来辅助实现,代码如下所示。

import logging
import traceback
logging.getLogger().setLevel(logging.INFO)

try:
    b=1/0
except Exception as e:
    err_msg=traceback.format_exc()
    logging.info(f"exception occurs when do math compute,traceback is:\n{err_msg}")

执行结果如下所示

3、通过logging.error方法

通过logging.error的方式只需要使用exe_info=True参数即可,代码如下所示

import logging
import traceback
logging.getLogger().setLevel(logging.INFO)

try:
    b=1/0
except Exception as e:
    err_msg=traceback.format_exc()
    logging.error(f"exception occurs when do math compute",exc_info=True)

执行结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

redrose2100

您的鼓励是我最大的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值