From dfa1b3097ade342301326ca392501b7ac7c986bd Mon Sep 17 00:00:00 2001 From: Darold Gilles Date: Thu, 10 Jan 2013 09:48:25 +0100 Subject: [PATCH] Fix parser issue when squid logformat has additional field at end. Thanks to nuxsmin for the patch. --- SquidAnalyzer.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SquidAnalyzer.pm b/SquidAnalyzer.pm index 6df1a35..c109ebe 100644 --- a/SquidAnalyzer.pm +++ b/SquidAnalyzer.pm @@ -195,10 +195,10 @@ sub parseFile if ( $line =~ s#^(\d+\.\d{3})\s+(\d+)\s+([^\s]+)\s+([^\s]+)\s+(\d+)\s+([^\s]+)\s+## ) { $time = $1 || 0; $elapsed = $2 || 0; + $client_ip = $3 || ''; $code = $4 || ''; $bytes = $5 || 0; $method = $6 || ''; - $client_ip = $3 || ''; # Go to last parsed date (incremental mode) next if ($self->{history_time} && ($time <= $self->{history_time})); @@ -220,7 +220,7 @@ sub parseFile next; } - if ( $line =~ s#^(.*)\s+([^\s]+)\s+([^\s]+\/[^\s]+)\s+([^\s]+)\s*## ) { + if ( $line =~ s#^(.*?)\s+([^\s]+)\s+([^\s]+\/[^\s]+)\s+([^\s]+)\s*## ) { $url = lc($1) || ''; $login = lc($2) || ''; $status = lc($3) || '';