Skip to content

v0.3.0

Choose a tag to compare

@heysamtexas heysamtexas released this 13 May 04:13
· 5 commits to main since this release
4ac7eb0

Bridges foreign stdlib loggers (Django's django.request, gunicorn, third-party libraries) through the structlog processor chain. Every line on stdout is now valid collide/v1 JSON — not just lines that originate from a CollideLogger.

Install

uv add "git+https://github.com/collide-ai/collide-logging-py.git@v0.3.0"

What changed

  • configure() now installs a structlog.stdlib.ProcessorFormatter-driven handler. Foreign stdlib records receive the same timestamp / level / service / logger fields and redaction pass as structlog-originated records.
  • extra={} fields on foreign stdlib calls are merged into the event dict before redaction runs.
  • Exception info on foreign records (exc_info=True) is formatted into the exception field.
  • Existing CollideLogger output shape is unchanged.

Upgrading

No changes required at call sites. Services silencing django.request or other noisy loggers to avoid non-JSON stdout can remove those workarounds — the records will now appear as JSON instead.

See CHANGELOG for full details.