Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #1893

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

Path csiph.com!eternal-september.org!feeder.eternal-september.org!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!nzpost1.xs4all.net!not-for-mail
Return-Path <itamar@itamarst.org>
X-Original-To python-announce-list@python.org
Delivered-To python-announce-list@mail.python.org
X-Spam-Status OK 0.022
X-Spam-Evidence '*H*': 0.96; '*S*': 0.00; 'sys': 0.05; 'subject:ANN': 0.07; 'exception:': 0.09; 'url:careers': 0.09; 'python': 0.10; 'exception': 0.13; 'def': 0.13; 'apache': 0.14; 'subject: \n ': 0.15; '+--': 0.16; '[1].': 0.16; '[3],': 0.16; 'tells': 0.18; 'try:': 0.18; 'skip:v 30': 0.20; 'to:2**1': 0.21; 'occurs': 0.22; 'subject:support': 0.22; 'import': 0.24; 'requests': 0.25; 'error': 0.27; 'logging': 0.27; 'to:no real name:2**1': 0.27; '[2]': 0.27; 'opposed': 0.27; 'container': 0.29; 'raise': 0.29; "we're": 0.30; 'code': 0.30; 'skip:s 30': 0.31; '[1]': 0.32; 'url:python': 0.33; 'utility': 0.33; 'except': 0.34; 'skip:d 20': 0.34; 'ones': 0.35; 'skip:e 40': 0.35; 'url:org': 0.36; 'actions': 0.36; 'received:10.20': 0.36; 'subject:: ': 0.37; 'received:10': 0.37; 'charset:us-ascii': 0.37; 'log': 0.38; 'why': 0.39; 'data': 0.39; 'url:en': 0.39; 'subject:the': 0.39; 'easily': 0.39; 'skip:e 20': 0.39; 'to:addr:python.org': 0.40; 'where': 0.40; 'subject:with': 0.40; 'more': 0.63; 'url:0': 0.63; 'license': 0.65; 'subject:now': 0.70; 'led': 0.72; 'links:': 0.84; 'route': 0.84; 'url:readthedocs': 0.84; 'interested?': 0.91; 'subject:system': 0.91
X-Virus-Scanned amavisd-new at kolabnow.com
X-Spam-Flag NO
X-Spam-Score -2.182
X-Spam-Level
X-Spam-Status No, score=-2.182 tagged_above=-10 required=6.31 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9, HTML_MESSAGE=0.001, MIME_HEADER_CTYPE_ONLY=0.717] autolearn=no
Date Thu, 08 Oct 2015 09:04:38 -0400
From Itamar Turner-Trauring <itamar@itamarst.org>
To twisted-python@twistedmatrix.com, python-announce-list@python.org
Subject ANN: Eliot 0.9, the logging system with causality - now with journald support
X-Sender itamar@itamarst.org
X-Mailman-Approved-At Thu, 08 Oct 2015 15:15:41 +0200
Content-Type text/plain; charset=US-ASCII
Content-Transfer-Encoding 7bit
X-Content-Filtered-By Mailman/MimeDel 2.1.20+
X-BeenThere python-announce-list@python.org
X-Mailman-Version 2.1.20+
Precedence list
List-Id Announcement-only list for the Python programming language <python-announce-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-announce-list/>
List-Post <mailto:python-announce-list@python.org>
List-Help <mailto:python-announce-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=subscribe>
Approved python-announce-list@python.org
Newsgroups comp.lang.python.announce
Message-ID <mailman.470.1444310142.28679.python-announce-list@python.org> (permalink)
Lines 59
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1444310142 news.xs4all.nl 23843 [2001:888:2000:d::a6]:39721
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python.announce:1893

Show key headers only | View raw


 
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/

Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread


Thread

ANN: Eliot 0.9, the logging system with causality - now with journald support Itamar Turner-Trauring <itamar@itamarst.org> - 2015-10-08 09:04 -0400

csiph-web