Metadata-Version: 2.1
Name: syslogformat
Version: 0.0.1
Summary: Python logging.Formatter class for syslog style messages
Home-page: https://git.fajnberg.de/daniil/syslogformat
Author: Daniil
Author-email: mail@placeholder123.to
License: UNKNOWN
Project-URL: Bug Tracker, https://git.fajnberg.de/daniil/syslogformat/issues
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3
Description-Content-Type: text/markdown
Provides-Extra: dev
Requires-Dist: coverage ; extra == 'dev'

# syslogformat

Python `logging.Formatter` class for syslog style messages

## Usage

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]
```

## Installation

`pip install syslogformat`

## Dependencies

Python Version 3

## Building from source

Run `python -m build`


