Merge pull request #101 from meejah/issue100-log-tracebacks
Log exception tracebacks when they're available for error-messages
This commit is contained in:
commit
723136c55f
@ -141,6 +141,17 @@ def test_info(handler, framework):
|
|||||||
assert handler.messages[0].endswith(b"hilarious elephant")
|
assert handler.messages[0].endswith(b"hilarious elephant")
|
||||||
|
|
||||||
|
|
||||||
|
def test_legacy_error_with_traceback(handler, framework):
|
||||||
|
import logging
|
||||||
|
|
||||||
|
try:
|
||||||
|
raise RuntimeError("the bad stuff")
|
||||||
|
except Exception:
|
||||||
|
logging.error("bad stuff", exc_info=True)
|
||||||
|
|
||||||
|
assert 'RuntimeError: the bad stuff' in str(handler.messages)
|
||||||
|
|
||||||
|
|
||||||
def test_trace(handler, framework):
|
def test_trace(handler, framework):
|
||||||
logger = txaio.make_logger()
|
logger = txaio.make_logger()
|
||||||
old_log = txaio.get_global_log_level()
|
old_log = txaio.get_global_log_level()
|
||||||
|
@ -209,6 +209,10 @@ class _TxaioFileHandler(logging.Handler, object):
|
|||||||
dt = datetime.fromtimestamp(record.args.get('log_time', 0))
|
dt = datetime.fromtimestamp(record.args.get('log_time', 0))
|
||||||
else:
|
else:
|
||||||
message = record.getMessage()
|
message = record.getMessage()
|
||||||
|
if record.levelno == logging.ERROR and record.exc_info:
|
||||||
|
message += '\n'
|
||||||
|
for line in traceback.format_exception(*record.exc_info):
|
||||||
|
message = message + line
|
||||||
dt = datetime.fromtimestamp(record.created)
|
dt = datetime.fromtimestamp(record.created)
|
||||||
msg = u'{0} {1}{2}'.format(
|
msg = u'{0} {1}{2}'.format(
|
||||||
dt.strftime("%Y-%m-%dT%H:%M:%S%z"),
|
dt.strftime("%Y-%m-%dT%H:%M:%S%z"),
|
||||||
|
Loading…
Reference in New Issue
Block a user