syslogformat/README.md

66 lines
1.3 KiB
Markdown
Raw Permalink Normal View History

2022-02-02 10:37:07 +01:00
# syslogformat
2022-02-02 12:03:45 +01:00
Python `logging.Formatter` class for syslog style messages
2022-02-02 10:37:07 +01:00
## Usage
2022-02-02 12:03:45 +01:00
Example with in-code setup:
```python
# 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`:
```yaml
version: 1
formatters:
custom:
(): syslogformat.SyslogFormatter
handlers:
console:
class: logging.StreamHandler
level: NOTSET
formatter: custom
stream: ext://sys.stdout
root:
level: NOTSET
handlers: [console]
```
2022-02-02 10:37:07 +01:00
## Installation
`pip install syslogformat`
## Dependencies
2022-02-02 12:03:45 +01:00
Python Version 3
2022-02-02 10:37:07 +01:00
## Building from source
Run `python -m build`