rainbow_logging_handler 2.2.2

Last updated:

0 purchases

rainbow_logging_handler 2.2.2 Image
rainbow_logging_handler 2.2.2 Images
Add to Cart

Description:

rainbow logging handler 2.2.2

Ultimate Python colorized logger.


Usage

Generic usage example
Usage with Django


Features

Column-by-column colored log
User custom color
High portability


Install

Install from PyPI
Install from Github repo


Author
License



Usage

Generic usage example

This script runs like above screenshot.
import sys
import logging
from rainbow_logging_handler import RainbowLoggingHandler

def main_func():
# setup `logging` module
logger = logging.getLogger('test_logging')
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter("[%(asctime)s] %(name)s %(funcName)s():%(lineno)d\t%(message)s") # same as default

# setup `RainbowLoggingHandler`
handler = RainbowLoggingHandler(sys.stderr, color_funcName=('black', 'yellow', True))
handler.setFormatter(formatter)
logger.addHandler(handler)

logger.debug("debug msg")
logger.info("info msg")
logger.warn("warn msg")
logger.error("error msg")
logger.critical("critical msg")

try:
raise RuntimeError("Opa!")
except Exception as e:
logger.exception(e)

if __name__ == '__main__':
main_func()


Usage with Django

Django is a popular Python web framework.
Put the following to your settings.py to get more pleasant development server console output:
# Add this to your settings.py
if DEBUG:
# Install rainbow logging handler when running Django in develoment mode
import sys
LOGGING["handlers"]["rainbow"] = {"level": "DEBUG", "class": "rainbow_logging_handler.RainbowLoggingHandler", 'stream': sys.stderr}
LOGGING["loggers"]['']["handlers"].append("rainbow")
More about configuring loggers for Django.



Features

Column-by-column colored log
As apparent from above screenshot, each column of logs are differently colored.
Even default coloring should make log reading easier.


User custom color
Every column colors are customizable.
formatter = logging.Formatter('%(pathname)s [%(module)s] - %(funcName)s:L%(lineno)d : %(message)s')
handler = RainbowLoggingHandler(
sys.stderr,
# Customizing each column's color
color_pathname=('black', 'red' , True), color_module=('yellow', None, False),
color_funcName=('blue' , 'white', True), color_lineno=('green' , None, False),
)
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.info("hello custom world")
Above code produces output like this.



High portability
Linux, BSD, Mac OS, and Windows are supposed to be supported.
Runs with both Python 2.6 or higher & Python 3.2 or higher.



Install

Install from PyPI
$ pip install rainbow_logging_handler


Install from Github repo
$ git clone https://github.com/laysakura/rainbow_logging_handler.git
$ cd rainbow_logging_handler
$ ./setup.py install



Author
Mikko Ohtamaa <[email protected]>, Sho Nakatani <[email protected]>
And special thanks to 10sr for advice.


License
This is free and unencumbered public domain software. For more information,
see <http://unlicense.org/> or the accompanying LICENSE.txt file.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.