[英]Percent difference in log files
浏览日志文件时,我经常一次又一次遇到相同的错误消息。 当然,由于时间戳,用户名,IP地址等原因,两行永远不会相同。
我正在寻找一种设置“差异百分比”的方法,并忽略任何说与已报告的错误消息90%相似的行。 另一个想法是也总是忽略时间戳差异。
程序:
*编辑:对不起,如果我第一次不清楚。 如果需要的话,我会很乐意解释。
谢谢。
我不知道任何完整的即用型解决方案,但Text :: Levenshtein和类似算法可以帮助您弄清楚一个通用字符串与另一个通用字符串的相似之处。
另一个想法是使用时间戳缓存您的日志消息,因此您不会重复过去(例如一分钟)中看到的消息。
my %msg_cache = ();
sub log_filter {
my $msg = shift;
if (defined($msg_cache{$msg}) && $msg_cache{$msg} < time-60) {
# we've logged this message in the last minute - skip
return;
}
$msg_cache{$msg} = time;
return 1;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.