A Python package which supports global logfmt formatted logging
A Python package which supports global logfmt formatted logging.
Install
$ pip install logfmter
Usage
Before integrating this library, you should be familiar with Python’s logging
functionality. I recommend reading the Basic Logging
Tutorial.
This package exposes a single Logfmter class that can be integrated into
the standard library logging system similar to any logging.Formatter.
The provided formatter will logfmt encode all logs. Key value pairs are provided
via the extra keyword argument or by passing a dictionary as the log message.
Basic
import logging
from logfmter import Logfmter
handler = logging.StreamHandler()
handler.setFormatter(Logfmter())
logging.basicConfig(handlers=[handler])
logger.error("hello", extra={"alpha": 1}) # at=ERROR msg=hello alpha=1
logger.error({"token": "Hello, World!"}) # at=ERROR token="Hello, World!"
Customize
You can subclass the formatter to change its behavior.
import logging
from logfmter import Logfmter
class CustomLogfmter(Logfmter):
"""
Provide a custom logfmt formatter which formats