【问题标题】:Interleaving and searching through Logfiles通过日志文件进行交错和搜索
【发布时间】:2016-11-06 15:06:57
【问题描述】:

我有多个 GB 的日志文件要搜索。每个日志都有一个时间戳、消息和额外的多个字段,因此每个日志由多行组成,如下所示:

Mon Jan 20 12:00:00 2016 127.0.0.1:12345 Hello World!
Field_1 = foo
Field_2 = bar
... (some more fields)
<empty line>

请注意,这样两个日志由一个空行分隔。不幸的是,只有单个日志文件按时间排序,必须交错两个不同的日志文件才能获得整个有序的日志行。这是我想要实现的第一件事。

我还想搜索日志。这基本上意味着我想在每个日志上定义搜索词和 grep。所有搜索词都需要匹配。所以最后我想要一组符合我搜索条件的有序日志。

我试图通过使用 grep 的上下文搜索来解决这个问题,但是缺少时间顺序和固定的上下文大小使它很痛苦。所以我想问一下是否有一些 Bash 或 Python 魔法可以让这种情况发生。非常感谢每一个提示!

【问题讨论】:

  • 如果你知道你的时间格式,你可以使用 awk coderwall.com/p/ueazhw/parsing-logs-with-awk
  • @dmitryro 谢谢你的链接。其实我是不知道awk的!与this 一起,我将尝试让一些东西运行起来。
  • [python] parsing logfiles 的搜索结果为 64 个,[python] logfile 的搜索结果为 700+。你看过他们中的任何一个吗?祝你好运。

标签: python bash sorting search logging


【解决方案1】:

我绝对会建议你看看regular expressions ,他们有你需要的所有东西!你可以编写一个脚本来编译正则表达式模板,然后使用re.findall(regex_template, your_log_variable)

希望对你有帮助...

【讨论】:

    猜你喜欢
    • 2010-09-14
    • 1970-01-01
    • 2023-03-05
    • 2011-09-18
    • 1970-01-01
    • 2015-08-29
    • 2015-11-19
    • 2011-05-01
    • 1970-01-01
    相关资源
    最近更新 更多