Billy Okeyo
Open source maintainerOpen source2025

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.

Links