【问题标题】:categorize errors & warnings in logs对日志中的错误和警告进行分类
【发布时间】:2014-12-19 16:24:50
【问题描述】:

我想对日志文件中的错误进行分类。我有很多文件夹(~100),每个文件夹都有一个日志文件。我希望能够解析所有日志文件并根据它们的频率对不同的错误进行分类。日志将具有以下格式

2014-10-22 07:55:02,997 错误日志消息 [可选堆栈跟踪]

一种方法是首先解析所有具有 ERROR 的日志语句并将它们放在一个文件中。理想情况下,生成的文件将只有 log_messages 没有日期和错误字符串。我想我可以在那之后对类似的字符串进行分组。你们有什么感想?任何更清洁和更好的方法?

【问题讨论】:

  • 请问为什么投反对票?
  • 问题太宽泛了
  • @user2812714 一般问题的格式为“我如何?”不是属于 SO 的问题类型。由于响应的延迟性质,这种格式更适合特定的编程问题。所以我的建议是开始编写您认为可行的代码,并在遇到问题时返回。
  • @user2812714 关于您的声明“[存储]没有日期和错误字符串”,我不同意,因为虽然错误是多余的,但日期确实将信息添加到您的日志中,例如。 ,您可以按错误次数等对内容进行排序。 OTOH,如果您将日志命名为 2014-10-24.errors,,那么您已经将一些信息提取到文件名中,您可以摆脱日期时间字符串的日期部分。

标签: python shell awk grep


【解决方案1】:

你会想要这样的东西(将 GNU awk 用于真正的二维数组):

$ awk '{cnt[$3][$4]++} END{for (err in cnt) for (msg in cnt[err]) print err, msg, cnt[err][msg]}' file1 file2 ...

但由于您没有发布任何示例输入和预期输出,因此这是一个猜测。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 2023-03-29
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多