semvec/pypi-packages huggingface dataset:
loggrok 0.2.1
Simple log analysis library
License: MIT License

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.