Eric Smith <[email protected]> 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 <[email protected]>
<http://bugs.python.org/issue8214>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com