如果程序崩溃,则编写详细的堆栈跟踪

globexc的Python项目详细描述


简介

globexc是一个库,当脚本中发生未处理的异常时,它使python解释器编写详细的堆栈跟踪。此跟踪被写入一个单独的文件中,并且对于堆栈的每个级别,都包含本地变量的值和几行上下文代码。这允许开发人员对错误执行基本的事后分析,而无需在调试器中重新创建场景或使用详细日志记录。

输出类似于werkzeug或django web框架提供的浏览器内堆栈跟踪,但即使不是web服务器,也可用于任何python程序。

示例

生成堆栈跟踪:

importglobexc# install the exception handlerglobexc.init_globexc()# cause an unhandled exceptiona=1/0

以及最终的终端输出:

CRITICAL Exception <type ‘exceptions.ZeroDivisionError’> (tests/sample.py:15) integer division or modulo by zero. Trace file written to ‘/home/user/trace.dump’.

有关堆栈跟踪,请参见https://github.com/mjem/globexc/blob/master/extra/trace.dump

安装

使用设置工具安装:

python setup.py build
python setup.py install

或者来自pypi:

pip install globexc

用法

在程序启动期间调用init_globexc(),以安装全局异常处理程序。当发生任何未处理的异常时,将生成堆栈跟踪。无论python日志记录系统是否已初始化,输出都可以工作。

环境变量

您可以设置以下环境变量来配置库:

globexc
为堆栈跟踪选择另一个文件名。

要求

兼容性

这段代码已经在linux下测试过了,并且只使用了python 2.7。

更改日志

0.1.1(2013-11-11)

  • 修复了PYPI索引页

0.1(2013-11-11)

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用JNA创建同一库的多个实例?   java在将Graphql查询作为JSON字符串传递时收到意外的令牌错误   OAuth2 oltu的java问题   java桌面应用程序使用的好的嵌入式数据库是什么?   java Firebase数据库高级查询选项   java正在使磁盘上的EhCache元素过期   java 安卓还原处于backstack中的片段的实例状态   XMemcached中的java异步集   java TimescaleDB是否使用与Postgresql完全相同的JDBC驱动程序?   java从网站c读取信息#   检查java Android中的字符串是否只包含数字和空格   c#如何向web服务发送特殊字符?   grails无法调用需要java的方法。lang.类参数?   java我在组合框中调用的方法不会运行所有代码,它只运行部分代码   java发送带有标头的HTTP GET请求