Python logging formatter that prefix multiline log message and trackebacks.
Project description
Python logging formatter that prefix multiline log message and trackebacks. Makes the logs more readable, both for tracebacks and for multiline log messages.
Free software: BSD license
Benchmarking
Benchmark against pythons built in formatter logging.Formatter. The benchmark is done using pytest-benchmark, and the below results is from a run on a faily new MacBook Pro, using Python 2.7.
One should note that we are using StringIO as stream output, so we should expect the results to be even closer with more production alike setup, for example writing to disc.
Installation
pip install multiline-log-formatter
Usage
Add this to dictConfig:
'formatters': {
'default': {
'()': 'multiline_formatter.formatter.MultilineMessagesFormatter',
'format': '[%(levelname)s] %(message)s'
},
},
And log messages will look like this:
[ERROR] LOGGING_MESSAGE ... (49564:MainThread)
... (49564:MainThread) : Traceback (most recent call last):
... (49564:MainThread) : File "/Users/plauri/work/opensource/python-multiline-log-formatter/tests/test_multiline_formatter.py", line 112, in test_exception
... (49564:MainThread) : raise Exception('EXCEPTION_MESSAGE')
... (49564:MainThread) : Exception: EXCEPTION_MESSAGE
And if you don’t like the default, you can customize it by extending MultilineMessagesFormatter and set multiline_marker. You can also change multiline_fmt, but assure you include %(message)s in the formating string.
Documentation
Development
To run the all tests run:
tox
Other
This project sceleton is generated by ionelmc’s pylibrary cookiecutter.
Changelog
0.1.8 (2016-01-15)
First release on PyPI.
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
Built Distribution
Hashes for multiline-log-formatter-0.1.8.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0889b13f6079d62fa8952f33f65c364ce0a37be5f202dc9ea3d20df137ab2151 |
|
MD5 | cafcca8176e60236e12fd19301ea286e |
|
BLAKE2b-256 | fd781d2b3b2223782764437a0aba6edb82e63f0fe1fb3bdbada97a7890c798ee |
Hashes for multiline_log_formatter-0.1.8-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0fc09278ffa79b25a036af7974bd5b42c31b1a9a09d11076245cae36048fd75 |
|
MD5 | c9e40db2e0c944b5ae709f1da4f98bf4 |
|
BLAKE2b-256 | 54d39b4c66cb433963afead0528d8fc62b5c454ae0786c4bedad7a2882b981f9 |