[Twisted-Python] ANN: Eliot 0.8, the logging system with causality
Itamar Turner-Trauring
itamar at itamarst.org
Mon Aug 10 12:59:17 MDT 2015
Most logging systems can tell you what happened; Eliot tells you _why_
it happened:
$ python linkcheck.py | eliot-tree
4c42a789-76f5-4f0b-b154-3dd0e3041445
+-- check_links at 1/started
`-- urls: [u'http://google.com', u'http://nosuchurl']
+-- download at 2,1/started
`-- url: http://google.com
+-- download at 2,2/succeeded
+-- download at 3,1/started
`-- url: http://nosuchurl
+-- download at 3,2/failed
|-- exception: requests.exceptions.ConnectionError
|-- reason: ('Conn aborted', gaierror(-2, 'Name unknown'))
+-- check_links at 4/failed
|-- exception: exceptions.ValueError
|-- reason: ('Conn aborted.', gaierror(-2, 'Name unknown'))
And here's the code that generated these logs (eliot-tree [1] was used
to render the output):
import sys
from eliot import start_action, to_file
import requests
to_file(sys.stdout)
def check_links(urls):
with start_action(action_type="check_links", urls=urls):
for url in urls:
try:
with start_action(action_type="download", url=url):
response = requests.get(url)
response.raise_for_status()
except Exception as e:
raise ValueError(str(e))
check_links(["http://google.com"], ["http://nosuchurl"])
Interested? Read more at https://eliot.readthedocs.org/ [2].
Eliot is released under the Apache License 2 by ClusterHQ [3], the
Container Data People. We're hiring! [4]
Links:
------
[1] https://warehouse.python.org/project/eliot-tree/
[2] https://eliot.readthedocs.org/
[3] https://clusterhq.com
[4] https://clusterhq.com/careers/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://twistedmatrix.com/pipermail/twisted-python/attachments/20150810/3a04cb5a/attachment.html>
More information about the Twisted-Python
mailing list