Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

Write a detailed stack trace if a program crashes

Project description

Introduction

globexc is a library which makes the Python interpreter write a detailed stack trace if an unhandled exception occurs in a script. This trace is written to a separate file and includes, for each level of the stack, the values of local variables and a few lines of context code. This allows the developer to perform a basic post-mortem analysis of an error without having to recreate the scenario inside a debugger or using verbose logging.

The output is similar to the in-browser stack trace given by the Werkzeug or Django web frameworks but available to any Python program even if it’s not a web server.

Example

To generate a stack trace:

import globexc

# install the exception handler
globexc.init_globexc()

# cause an unhandled exception
a = 1 / 0

And the resulting terminal output:

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

And for the stack trace see https://github.com/mjem/globexc/blob/master/extra/trace.dump.

Installation

Install using setuptools:

python setup.py build
python setup.py install

Or from pypi:

pip install globexc

Usage

Call init_globexc() during program startup to install the global exception handler. The stack trace will then be generated when any unhandled exception occurs. The output works whether or not the Python logging system has been initialised.

Environment variables

You can set the following environment variable to configure the library:

GLOBEXC
Choose an alternative filename for stack traces.

Requirements

None

Compatibility

This code has been tested under Linux and using Python 2.7 only.

ChangeLog

0.1.1 (2013-11-11)

  • Fixed pypi index page

0.1 (2013-11-11)

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for globexc, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size globexc-0.1.1.tar.gz (10.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page