Nice colorful formatters for Python logging.
Project description
Provide formatters to nicely display colorful logging output on the console.
Right now, it contains only one formatter, coloring log lines depending on the log level and adding nice line prefixes containing logger name, but future plans are to add more formatters and allow better ways to customize them.
Installation
pip install nicelog
Quick usage
Since version 0.3, nicelog comes with a helper function to quickly set up logging for basic needs.
from nicelog import setup_logging
setup_logging()
Or, if you want to include debug messages too:
setup_logging(debug=True)
Advanced usage
import logging
import sys
from nicelog.formatters import Colorful
# Setup a logger
logger = logging.getLogger('foo')
logger.setLevel(logging.DEBUG)
# Setup a handler, writing colorful output
# to the console
handler = logging.StreamHandler(sys.stderr)
handler.setFormatter(Colorful())
handler.setLevel(logging.DEBUG)
logger.addHandler(handler)
# Now log some messages..
logger.debug('Debug message')
logger.info('Info message')
logger.warning('Warning message')
logger.error('Error message')
logger.critical('Critical message')
try:
raise ValueError('This is an exception')
except:
logger.exception("An error occurred")
Example output
Here it is, in all its glory:
The output format can be further customized, eg. if you want to reduce colorfulness or verbosity.
Integrations
Django
I usually put something like this in my (local) settings:
LOGGING['formatters']['standard'] = {
'()': 'nicelog.formatters.Colorful',
'show_date': True,
'show_function': True,
'show_filename': True,
'message_inline': False,
}
Changelog
v0.2
More decoupling between “colorer” and “style”
Support for pretty tracebacks (colorful + code context + locals)
Added some tests
Python3 support via six
v0.1.9
Replaced strftime(3) conversion specifiers %F and %T aren’t available on all platforms: replaced with long versions %Y-%m-%d and %H:%M:%S.
v0.1.8
Prevent failure in case the TERM environment variable is not set (PR #1)
v0.1.7
Added support for message_inline argument. If set to False, messages will be displayed on their own line (useful when enabling a lot of information)
v0.1.6
Added support for showing more information:
record date
file name / line number
module / function
v0.1.5
Added support for nicer colors in 256-color mode
Removed dependency from termcolor (now shipping better implementation)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file nicelog-0.3.tar.gz
.
File metadata
- Download URL: nicelog-0.3.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4483edd1935a336a96e6634766751502dde08417f010b2296175bbec9febb5fb |
|
MD5 | a0f9f3e809a63cb616434d8f17492d6f |
|
BLAKE2b-256 | 151c50cb8e72adc12f2fa4629269389e6502dcfa780eee684aecdcc73e08f132 |