Skip to main content

Rich Traceback Logger

Project description

Informative Traceback Logging for Python

Informative stack traces showing method parameters. Simple standalone logger with console syslog support.

Usage:

  • If you’re already using the logging module, import rich_traceback.enable in your module. Then logger.exception() will report nicely formatted exceptions.

import rich_traceback.enable

  • Otherwise, create a new logger using the RichTracebackFormatter class, or see rich_traceback.log as an example:

(save as test.py)

from rich_traceback.formatter import RichTracebackFormatter
import logging
logger = logging.getLogger('root')
console_log = logging.StreamHandler()
console_log.setFormatter(RichTracebackFormatter())
logger.addHandler(console_log)

def foo(x=3):
    if 1.0/x:
        foo(x-1)

try:
    foo()
except:
    logger.exception("error running foo")

print "compare with standard Python traceback"
foo() # for standard traceback
$ python test.py

ERROR root test.<module>:15 error running foo
<type 'exceptions.ZeroDivisionError'>: ZeroDivisionError('float division by zero',) ([5] frames following)
[4] test.py, foo(x=0) at line 9: if 1.0/x:
[3] test.py, foo(x=1) at line 10: foo(x-1)
[2] test.py, foo(x=2) at line 10: foo(x-1)
[1] test.py, foo(x=3) at line 10: foo(x-1)
[0] test.py, <module>() at line 13: foo()

compare with standard Python traceback
Traceback (most recent call last):
  File "test.py", line 18, in <module>
    foo()
  File "test.py", line 10, in foo
    foo(x-1)
  File "test.py", line 10, in foo
    foo(x-1)
  File "test.py", line 10, in foo
    foo(x-1)
  File "test.py", line 9, in foo
    if 1.0/x:
ZeroDivisionError: float division by zero

For a global exception trap, see enable.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rich-traceback-1.0.2.tar.gz (8.6 kB view hashes)

Uploaded Source

Built Distribution

rich_traceback-1.0.2-py2-none-any.whl (6.6 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page