generated from daniil-berg/boilerplate-py
Python logging.Formatter class for syslog style messages
requirements | ||
src/syslogformat | ||
tests | ||
.coveragerc | ||
.gitignore | ||
coverage.sh | ||
pyproject.toml | ||
README.md | ||
setup.cfg |
syslogformat
Python logging.Formatter
class for syslog style messages
Usage
Example with in-code setup:
# example.py
import logging
from syslogformat import SyslogFormatter
log = logging.getLogger()
hdl = logging.StreamHandler()
fmt = SyslogFormatter()
hdl.setFormatter(fmt)
hdl.setLevel(logging.NOTSET)
log.addHandler(hdl)
log.setLevel(logging.NOTSET)
log.debug("foo")
log.info("bar")
log.warning("baz")
try:
raise ValueError("this is bad")
except ValueError as e:
log.exception("oh no")
This is what the output should be like:
<7>DEBUG | foo
<6>INFO | bar
<4>WARNING | baz | example.<module>.14
<3>ERROR | oh no | example.<module>.18 | 'Traceback (most recent call last):\n File "/path/to/example.py", line 16, in <module>\n raise ValueError("this is bad")\nValueError: this is bad'
Same configuration with YAML file to be loaded into logging.config.dictConfig
:
version: 1
formatters:
custom:
(): syslogformat.SyslogFormatter
handlers:
console:
class: logging.StreamHandler
level: NOTSET
formatter: custom
stream: ext://sys.stdout
root:
level: NOTSET
handlers: [console]
Installation
pip install syslogformat
Dependencies
Python Version 3
Building from source
Run python -m build