简单日志分析库

loggrok的Python项目详细描述


我以前写过loggrok,因为我需要一个简单的库

用于分析日志。我没有积极发展洛格洛克,但请让我知道 如果您发现任何错误等。

功能包括:

  • 简单回调系统(loggrok.actions)
  • 多个基于滚动索引的日志文件上的seemless迭代-智能连接 虚线(RollingIndexLogstream)
  • 基于正则表达式的自定义头和消息体匹配。

示例用法:

>>> 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

您还可以编写自己的正则表达式来匹配自定义头:

>>> 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

有关工作示例,请参见tests目录中的doctest。

运行单元测试:

python runtests.py

注意:loggrok将发出与“breaked”curriedcallable类相关的警告 它不应该引起问题。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java WebClient请求级别超时抛出名为default onErrorDropped的运算符   java JAXB外部绑定文件错误   Freemarker中的java转义宏参数值   java正在同步来自不同对象{已编辑}的线程   java如何在另一个类上更新活动中的元素   java Hibernate连接查询   java可以使用Apache Crunch创建类似于图形的数据结构吗?   java在JLabel的开头加上3个点   java 安卓应用程序显示线程错误   java@RequestBody在Spring中总是空的   java Android异步任务永远不会结束   具有多个属性的java Jaxws枚举   java中的安卓 Stripe InvalidRequestException   多线程java。util。非多线程程序中的ConcurrentModificationException   Minecraft Java插件如何删除HashMap中存储的所有块   空Java字符串的大小   从AJP连接器请求检索Shibboleth属性的java   oracle11g将Java类文件加载到Oracle数据库