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.

Files for rich-traceback, version 1.0.2
Filename, size File type Python version Upload date Hashes
Filename, size rich_traceback-1.0.2-py2-none-any.whl (6.6 kB) File type Wheel Python version py2 Upload date Hashes View hashes
Filename, size rich-traceback-1.0.2.tar.gz (8.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page