By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,627 Members | 1,211 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,627 IT Pros & Developers. It's quick & easy.

Exception report library

P: n/a
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:, 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 / ia** /
Jul 18 '05 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.