ANN: Eliot 0.9, the logging system with causality - now with journald support

Eliot 0.9 is out, with a new utility for pretty-printing log messages and native journald support [1]. You can now route Eliot logs to journald and when an error occurs easily find all logged actions that led up to that particular error, as opposed to most logging systems where this would involve reading all the logs and figuring out which ones apply and which to ignore. 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@1/started `-- urls: [u'http://google.com', u'http://nosuchurl'] +-- download@2,1/started `-- url: http://google.com +-- download@2,2/succeeded +-- download@3,1/started `-- url: http://nosuchurl +-- download@3,2/failed |-- exception: requests.exceptions.ConnectionError |-- reason: ('Conn aborted', gaierror(-2, 'Name unknown')) +-- check_links@4/failed |-- exception: exceptions.ValueError |-- reason: ('Conn aborted.', gaierror(-2, 'Name unknown')) And here's the code that generated these logs (eliot-tree [2] 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/. Eliot is released under the Apache License 2 by ClusterHQ [3], the Container Data People. We're hiring! [4] Links: ------ [1] http://eliot.readthedocs.org/en/0.9.0/journald.html [2] https://warehouse.python.org/project/eliot-tree/ [3] https://clusterhq.com [4] https://clusterhq.com/careers/
participants (1)
-
Itamar Turner-Trauring