Repository navigation
v0.3.0
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 astructlog.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 theexceptionfield. - Existing
CollideLoggeroutput 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.