有没有办法只在错误日志中搜索唯一错误。原因是我有很多重复的错误,不想错过罕见的错误。
我将如何编写一个自定义脚本来解析错误日志,并过滤掉除日期时间之外的所有重复项。
分析/var/log/apache2/error.log
使用
sed 's^\[.*\]^^g' /var/log/apache2/error.log | sort | uniq -c
这会
在每行的开头剪切日期,例如:
[2012 年 8 月 28 日 11:20:24 UTC] PHP 通知:未定义索引:在线测试 /var/www/...
按数值排序
查找并计算唯一行
在 php.ini 中设置或添加到您的 php 脚本中ignore-repeated-errors
= On
ini_set('ignore-repeated-errors', 1);
这将阻止 php 多次记录错误,即由同一脚本中的同一行引起的错误消息。