loggrok 0.2.1
Simple log analysis library
I wrote loggrok a while back as I needed a simple library for analyzing logs. I am not actively developing loggrok, but please let me know if you find any bugs etc.
Features include:
- Simple callback system (loggrok.actions)
- Seemless iteration over multiple rollover-index based log files - smartly joins broken lines (RollingIndexLogStream)
- Custom regex-based header and message body matching.
Example usage:
>>> from loggrok.actions import Action
>>> action = Action()
>>> def printError(entry):
... print 'err!', str(entry)[:-1]
...
>>> action.addLevelCallback('ERROR', printError)
>>> def printWarning(entry):
... print 'warning!', str(entry)[:-1]
...
>>> action.addLevelCallback('WARN', printWarning)
>>> from loggrok.log import LogStream
>>> stream = LogStream(fname)
>>> stream.action = action
>>> for entry in stream:
... continue
...
err! blah blah
warning! blah blah
err! blah blah
You can also write your own regexes for matching custom headers:
>>> from loggrok.parse import HeaderParser, MessageParser
>>> header_patt = r'^([a-zA-Z]+) ([a-zA-Z]+) <(\d+)> '
# Entry attributes correspond to groups in regex pattern
>>> header_attrs = ('foo', 'bar', 'baz')
>>> header_parser = HeaderParser(header_patt, header_attrs)
>>> message_patterns = (...) # regexs for message body - after header
>>> message_attrs = (...) # tuple of attribute tuples corresponding to patters
>>> messageParser = MessageParser(message_patterns, message_attrs)
...
>>> stream.messageParser = messageParser
See doctest in tests directory for working examples.
To run unit tests:
python runtests.py
N.B. - loggrok will emit warning related to "broken" CurriedCallable class, though it should not cause issues.
| File | Type | Py Version | Size | # downloads |
|---|---|---|---|---|
| loggrok-0.2.1-py2.4.egg (md5) | Python Egg | 2.4 | 12KB | 285 |
| loggrok-0.2.1-py2.5.egg (md5) | Python Egg | 2.5 | 12KB | 306 |
| loggrok-0.2.1.tar.gz (md5) | Source | 10KB | 149 | |
- Author: Drew Smathers <drew dot smathers at gmail dot com>
- Home Page: http://xix.python-hosting.com/#loggrok
- License: MIT License
-
Categories
- Development Status :: 3 - Alpha
- Environment :: Console
- Intended Audience :: Developers
- License :: OSI Approved :: MIT License
- Operating System :: MacOS :: MacOS X
- Operating System :: Microsoft :: Windows
- Operating System :: POSIX
- Programming Language :: Python
- Topic :: Internet :: Log Analysis
- Topic :: Utilities
- Package Index Owner: froofysmath
- DOAP record: loggrok-0.2.1.xml
