Exception report library

Ian Bicking ianb at colorstudy.com
Fri Jan 7 15:39:01 EST 2005


I've been using one of several systems to catch unexpected exceptions 
and log them (e.g., write to a file, display on web page, email me, 
etc).  But many are built into a particular system, or have an 
interesting but incomplete set of features.  E.g., many web frameworks 
have exception reporters (and the stdlib includes cgitb), but I want to 
handle non-web exceptions in the same way as exceptions from web 
requests, and that's not generally easy.

So, I'm figuring there should be some generic library that does this. 
Does anyone have experience with one they could recommend?  PyCrash 
comes to mind: http://pycrash.sourceforge.net/, though the XML output 
doesn't excite me (but the post-mortem debugging data is nice).  py.test 
makes nice tracebacks with extra data as well, and cgitb is another 
option, though I've found the code to be poorly factored for reusability 
when I've looked at it in the past.  Zope includes an 
otherwise-Zope-neutral ExceptionFormatter, which isn't terribly 
exciting, except that it does look for __traceback_info__ local 
variables and create reports with those inlined.  Maybe there's 
something better that's packaged as part of a larger framework?  Does 
anyone have good or bad experience with PyCrash?

Localized application extensibility is really useful to me as well; for 
instance, in a web application I like to know who the logged-in user is, 
and all sorts of environment information, and there's no way to do that 
that is common to all the environments I'd like this to work in.  On the 
reporting end configuration and hooks are also really useful; e.g., 
there's no general way to display an exception report on a web page, so 
a web framework would have to hook into it in some way as well.

I feel like there must be something out there, since every Python 
programmer has to deal with this sort of thing to some degree...?

-- 
Ian Bicking  /  ianb at colorstudy.com  /  http://blog.ianbicking.org



More information about the Python-list mailing list