如果程序崩溃,则编写详细的堆栈跟踪
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。
法律
globexc版权所有2013 mike elson
根据apache许可证2.0版(以下简称“许可证”)授权; 除非符合许可证,否则您不能使用此软件。 您可以在
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。
更改日志
0.1.1(2013-11-11)
- 修复了PYPI索引页
0.1(2013-11-11)
- 初始版本