Skip to content

kierdavis/structlog-overtime

Repository files navigation

structlog-overtime

Utilities for structlog with the goal of enabling complex use cases without having to defer to standard library logging.

Features

  • TeeLoggerFactory: copy events to multiple destinations (e.g. console and file)
  • MockLoggerFactory: accumulates events in a list (useful for tests)
  • FilterMethods: filter events based on the method that was called (i.e. filter by log level)
  • FilterKeys: adjust which fields are included in your event dicts
  • TimezoneAwareTimeStamper: make your timestamps explicitly include a timezone
  • bind: type-preserving wrapper around BoundLogger.bind
  • noop: a processor that gloriously does nothing

The name?

https://www.youtube.com/watch?v=GnEmD17kYsE

Development

Running the tests

git clone git@github.com:kierdavis/structlog-overtime.git
cd structlog-overtime
python3 -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
pytest

Making a release

  1. Bump the version number in setup.py
  2. Commit the version nummber change: git commit
  3. Publish to PyPI and create git tag: carthorse --config carthorse.yaml

License

public domain