收集和分组日志文件中的错误

马特

我在Linux上(有时也在AIX上),并且在文件夹中有一堆日志文件。我有一个grep命令,它将以如下格式过滤掉所有错误。

CreateOrder_hostname_tee.log:2015-09-29 15:42:06,715:ERROR  :Thread-26_CreateOrder: [1443555726715] Error1  [system]: Class1
CreateOrder_hostname_tee.log:2015-09-29 15:42:06,715:ERROR  :Thread-15_CreateOrder: [1443555726715] Error1  [system]: Class1
CreateOrder_hostname_tee.log:2015-09-29 15:42:06,715:ERROR  :Thread-28_CreateOrder: [1443555726715] Error2  [system]: Class2
ScheduleOrder_hostname_tee.log:2015-09-30 03:55:05,011:ERROR  :Thread-5_ScheduleOrder: [1443599705009] Error3  [system]: Class3

是否可以使用grep / awk / sed的某种组合以上述格式获取上述数据?

API: Error: Count
CreateOrder: Error1: 50
CreateOrder: Error2: 50
ScheduleOrder: Error3: 50

如果没有,是否有可能获得像这样的格式?然后,我可以使用wc或类似方法来计算不同的错误。

API: Date: Error
CreateOrder: 2015-09-29 15:42:06,715: Error1
CreateOrder: 2015-09-29 15:42:06,715: Error2
ScheduleOrder: 2015-09-29 15:42:06,715: Error3

编辑1:

该错误可能是任何字符串(包括空格)。基本上,应该显示在下面方括号之间的所有内容。

[1443555726715] Error1: This is an error with description.  [system]: Class1
阿尔夫
input=$(your grep command)
formatted=$(
  echo "$input" |
    sed 's/^\([^_]*\).*[0-9]*\] \([^[]*[^\[ ]\).*/\1: \2/'
)
kinds=$(echo "$formatted" | sort -u)
while IFS= read kind
do
  count=$(echo "$formatted" | grep "$kind" | wc -l)
  echo "$kind: $count"
done <<< "$kinds"

对于您问题中给出的输入,将给出以下输出:

CreateOrder: Error1: 2
CreateOrder: Error2: 1
ScheduleOrder: Error3: 1

一切都在内存中完成,因此对于非常大的数据结构(数十或数百兆字节)而言,这可能不可行。但是,在这些情况下,您可以使用临时文件,而不是shell变量(如echo "$input" | sed … > formatted.tmpsort -u formatted.tmp > kinds.tmp等)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

警告和错误的记录未写入Powershell中的日志文件

来自分类Dev

Monolog:将不同的通道和多个处理程序记录到分组的日志文件+专用日志文件中

来自分类Dev

Django中的静态文件收集路径错误

来自分类Dev

使用bash和awk将日志文件分组

来自分类Dev

使用bash和awk将日志文件分组

来自分类Dev

从日志文件中拉出Java错误堆栈

来自分类Dev

将stderr和stdout记录到日志文件并处理bash脚本中的错误

来自分类Dev

SSIS日志文件,动态文件路径和访问被拒绝错误

来自分类Dev

Spyder IDE中的重复日志条目和锁定的日志文件

来自分类Dev

从日志文件中删除BS和ESC

来自分类Dev

使用 exec 从节点 js 中的 stdout(php - monolog) 收集和格式化日志

来自分类Dev

从文件中收集行

来自分类Dev

收集文件中的符号

来自分类Dev

如何获取错误和异常,并将其写入日志文件?

来自分类Dev

在Azure中收集Service Fabric群集日志

来自分类Dev

在Azure中收集Service Fabric群集日志

来自分类Dev

Tenshi和日志文件

来自分类Dev

使用Powershell显示日志文件中的整个错误消息

来自分类Dev

如何从php文件中清除错误日志内容?

来自分类Dev

使用 AWK 检索加密日志文件中的错误

来自分类Dev

配置Apache以在访问和错误日志中记录主机

来自分类Dev

Linux日志中的nvme RxErr和pcieport超时错误

来自分类Dev

分组和删除文件

来自分类Dev

也抑制日志中的错误

来自分类Dev

在GHCi REPL中打开和关闭hslogger日志文件

来自分类Dev

按bash中的月份,日期和时间过滤日志文件

来自分类Dev

从日志文件中搜索值和计数数字

来自分类Dev

在日志文件中记录 apache 启动和停止

来自分类Dev

按子句分组和排序中的SQL查询错误

Related 相关文章

热门标签

归档