Skip to main content
Help us improve Python packaging – donate today!

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

Release history Release notifications

This version
History Node

1.0.2

History Node

1.0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
rich_traceback-1.0.2-py2-none-any.whl (6.6 kB) Copy SHA256 hash SHA256 Wheel py2 Jun 11, 2015
rich-traceback-1.0.2.tar.gz (8.6 kB) Copy SHA256 hash SHA256 Source None Jun 11, 2015

Supported by

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