Metadata-Version: 1.0
Name: loggrok
Version: 0.2.1
Summary: Simple log analysis library
Home-page: http://xix.python-hosting.com/#loggrok
Author: Drew Smathers
Author-email: drew dot smathers at gmail dot com
License: MIT License
Description: 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(patt, entry_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.
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Environment :: Console
Classifier: Programming Language :: Python
Classifier: Intended Audience :: Developers
Classifier: Topic :: Utilities
