Fernando Perez wrote: > <plug, but hopefully a useful one> > > You may want to steal the crash handling code from ipython. In order to > address this kind of problem, ipython sticks an exceptionally verbose > traceback printer into sys.excepthook. If ipython ever crashes, the user gets > a LOT of info, and it's all packaged ready to go, to be emailed to me. Here's > an example of the result (I stuck 1/0 inside to force the crash):
[snip] > This approach has worked very well for me over the years, and these crash > report emails have become fortunately rather rare as of late :) > > If you are interested, just get ipython and grab the files for this, it's all > BSD licensed. You can also browse the SVN repo here if you want to look at > the code: > > http://ipython.scipy.org/svn/ipython/ipython/trunk/IPython/ > > The relevant files are ultraTB.py and CrashHandler.py. Thanks Fernando, consider your excellent code stolen! :) I'll probably make a flag that defaults to ultraTB but that can also be set to leave sys.excepthook as-is. Best of both worlds! I've done things like this in the past, in my own Visual Foxpro framework. In that situation, I had enough control over the deployment to also ship a small smtp client, and automatically email the error without requiring any interaction at all. Clients were impressed when I'd already have a fix for the problem before they even notified me of the issue! -- Paul McNett http://paulmcnett.com -- http://mail.python.org/mailman/listinfo/python-list