Python’s built-in
logging
and other similar systems output a stream of factoids: they’re interesting, but you can’t really tell what’s going on.Why is your application slow? What caused this code path to be chosen? Why did this error happen? Standard logging can’t answer these questions.
But with a better model you could understand what and why things happened in your application. You could pinpoint performance bottlenecks, you could understand what happened when, who called what.
That is what Eliot does.
eliot
is a Python logging system that outputs causal chains of actions: actions can spawn other actions, and eventually they either succeed or fail. The resulting logs tell you the story of what your software did: what happened, and what caused it.