Skip to main content

Logging library that tells you why it happened

Project description

Build Status

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.

Eliot works well within a single process, but can also be used across multiple processes to trace causality across a distributed system. Eliot is only used to generate your logs; you will still need tools like Logstash and ElasticSearch to aggregate and store logs if you are using multiple processes.

Eliot supports Python 3.4, 3.5, 3.6, 3.7 and PyPy. It is maintained by Itamar Turner-Trauring, and released under the Apache 2.0 License.

Python 2.7 is currently supported but will be dropped from future releases; see here for details.

Testimonials

“Eliot has made tracking down causes of failure (in complex external integrations and internal uses) tremendously easier. Our errors are logged to Sentry with the Eliot task UUID. That means we can go from a Sentry notification to a high-level trace of operations—with important metadata at each operation—in a few seconds. We immediately know which user did what in which part of the system.”

—Jonathan Jacobs

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eliot-1.7.0.tar.gz (152.5 kB view details)

Uploaded Source

Built Distribution

eliot-1.7.0-py2.py3-none-any.whl (117.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file eliot-1.7.0.tar.gz.

File metadata

  • Download URL: eliot-1.7.0.tar.gz
  • Upload date:
  • Size: 152.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/36.6.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for eliot-1.7.0.tar.gz
Algorithm Hash digest
SHA256 68f3901211288c6c3cb2d05124069a42fa8d4635362dd4b3c6459f701cf39e7a
MD5 ddb8d6ad3020f2bc2379345491138fb6
BLAKE2b-256 fb21f327b4597c0f93abdc4d615a9b155d7543192ec391782f9902bdb48ae0cc

See more details on using hashes here.

Provenance

File details

Details for the file eliot-1.7.0-py2.py3-none-any.whl.

File metadata

  • Download URL: eliot-1.7.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 117.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/36.6.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for eliot-1.7.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 816d2fd04f8b935c008f3cbeb75e1645e3fdf2ef58f1d16cf8cfc568a84a4173
MD5 0606ba52f1381be9b710d39d133ba6a2
BLAKE2b-256 f4e6ed4f908789ff2251a6abab4eb8f5eedabb08374f8bfc3368c78d91b6c2b5

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page