Eric Smith <e...@trueblade.com> added the comment: Good point. So that makes the implementation more like:
import traceback import syslog import sys def syslog_exception(etype, evalue, etb): # The result of traceback.format_exception might contain # embedded newlines, so we have the nested loops. for line in traceback.format_exception(etype, evalue, etb): for line in line.rstrip().split('\n'): syslog.syslog(line) def logexceptions(chain=True): # Should we chain to the existing sys.excepthook? current_hook = sys.excepthook if chain else None def hook(etype, evalue, etb): if current_hook: current_hook(etype, evalue, etb) syslog_exception(etype, evalue, etb) sys.excepthook = hook We could then make syslog_exception take a tuple instead of the 3 values. I'm not sure which is more convenient, or more widely used in other APIs. Once it's moved into syslog, maybe syslog_exception named syslog.log_exception. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue8214> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com