From: eldy <> Date: Wed, 3 Mar 2004 21:08:16 +0000 (+0000) Subject: Added %time4 to support Unix timestamps date in log files. X-Git-Tag: AWSTATS_6_1_BETA~90 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=083e01536d22f1e9aac40dfd78d4ce08e9a41e83;p=thirdparty%2FAWStats.git Added %time4 to support Unix timestamps date in log files. --- diff --git a/wwwroot/cgi-bin/awstats.pl b/wwwroot/cgi-bin/awstats.pl index e7662d34..f378f82f 100644 --- a/wwwroot/cgi-bin/awstats.pl +++ b/wwwroot/cgi-bin/awstats.pl @@ -4740,6 +4740,10 @@ sub DefinePerlParsingFormat { $pos_date = $i; $i++; push @fieldlib, 'date'; $PerlParsingFormat .= "(\\w\\w\\w \\s??\\d+ \\d\\d:\\d\\d:\\d\\d)"; } + elsif ($f =~ /%time4$/) { # ddddddddddddd + $pos_date = $i; $i++; push @fieldlib, 'date'; + $PerlParsingFormat .= "(\\d+)"; + } # Special for methodurl and methodurlnoprot elsif ($f =~ /%methodurl$/) { $pos_method = $i; $i++; push @fieldlib, 'method'; @@ -5798,10 +5802,14 @@ if ($UpdateStats && $FrameName ne 'index' && $FrameName ne 'mainleft') { # Updat # Split DD/Month/YYYY:HH:MM:SS or YYYY-MM-DD HH:MM:SS or MM/DD/YY\tHH:MM:SS $field[$pos_date] =~ tr/,-\/ \t/:::::/; # " \t" is used instead of "\s" not known with tr my @dateparts=split(/:/,$field[$pos_date]); # tr and split faster than @dateparts=split(/[\/\-:\s]/,$field[$pos_date]) - if ($dateparts[0] =~ /^....$/) { my $tmp=$dateparts[0]; $dateparts[0]=$dateparts[2]; $dateparts[2]=$tmp; } + if (! $dateparts[1]) { # Unix timestamp + ($dateparts[5],$dateparts[4],$dateparts[3],$dateparts[0],$dateparts[1],$dateparts[2]) = localtime(int($field[$pos_date])); + $dateparts[1]++;$dateparts[2]+=1900; + } + elsif ($dateparts[0] =~ /^....$/) { my $tmp=$dateparts[0]; $dateparts[0]=$dateparts[2]; $dateparts[2]=$tmp; } elsif ($field[$pos_date] =~ /^..:..:..:/) { $dateparts[2]+=2000; my $tmp=$dateparts[0]; $dateparts[0]=$dateparts[1]; $dateparts[1]=$tmp; } if ($MonthNum{$dateparts[1]}) { $dateparts[1]=$MonthNum{$dateparts[1]}; } # Change lib month in num month if necessary - + # Now @dateparts is (DD,MM,YYYY,HH,MM,SS) and we're going to create $timerecord=YYYYMMDDHHMMSS # Plugin call : Convert a @datepart into another @datepart if ($PluginsLoaded{'ChangeTime'}{'timezone'}) { @dateparts=ChangeTime_timezone(\@dateparts); }