django-logpilot
Logging that is readable in development and useful in production. Readable logs in development, structured JSON in production, rotating files, and request IDs, without wrestling a LOGGING dict.
Overview
django-logpilot is a focused open-source utility. It exists because observability should not start with a two-page settings snippet.
The Problem
Django’s default logging configuration is easy to misconfigure and hard to read. Teams either drown in noise or ship production with almost no useful structure.
The Approach
Opinionated defaults, escape hatches where needed. The package should be installable in minutes and still produce logs a person can grep and a collector can parse.
System / Product Design
Environment-aware formatters, request middleware for correlation IDs, and rotation that does not fill a disk on a forgotten DEBUG=True.
Technology
Django · Python
Challenges
Everyone’s logging needs are slightly different
Defaults have to be good. Overrides have to be obvious.
Key Decisions
Two formats, one pipeline
Developers read text. Production aggregators read JSON. The same events should support both.
Outcome
Available as an open-source Django package. Case study on billyokeyo.dev.
What I Learned
- Developer experience for operations work is still product design.