python - 如何在 Python 3 中使用回溯记录异常对象

标签 python exception logging python-3.x

如何使用标准 logging 在 Python 3 中记录异常对象及其回溯模块?

请注意,所讨论的异常不一定是当前正在处理的异常。

最佳答案

Logger 对象接受一个 exc_info 参数来包含异常信息(包括回溯),该信息应该是一个包含异常类、异常本身和异常回溯的元组。最棘手的部分是获取回溯,但事实证明,从 Python 3.0 开始,exceptions have a __traceback__ attribute :

logger = logging.getLogger()
exc_info = (type(exc), exc, exc.__traceback__)
logger.error('Exception occurred', exc_info=exc_info)

关于python - 如何在 Python 3 中使用回溯记录异常对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24864887/

相关文章:

python - 当其中一个属性失效时自动删除类实例

python - Scrapy 的代理池系统暂时停止使用慢速/超时代理

python - 由于 unicode 解码错误,无法在 pandas 中打开 csv 文件

c# - 在 C# 中何时重新抛出异常?

Azure Function - ILogger 不记录日志?

python - 安装 Jupyter 和 pywinpty (Python) 时出错

python - 在 Python 中使用 try-except-else 是一个好习惯吗?

python - 检查在 Python 中打开了哪些文件

tomcat - log4j 与 Tomcat6

logging - 是否可以覆盖类型的现有 Debug 实现?