use ConvUTF8;
require './jcode.pl';
require './search.pl';
sub ddConv {
local( $_ ) = @_;
if ( /([0-9]+)\/(.*)\/([0-9]+):([0-9]+):([0-9]+)/go ) {
$_ = "$3/$2/$1 $4:$5";
}
return( $_ );
}
sub urlConv {
local( $_ ) = @_;
if ( /^[^ ]+ ([^ ]+)/o ) {
$_ = "$1";
}
return( $_ );
}
sub kanjiConv {
local( $s ) = @_;
&jcode'convert(*s,'sjis');
return( $s );
}
print "
\n";
print "日付 | 検索エンジン | キーワード | URL | host | agent |
\n";
while ( ) {
$name = $_;
if ($name eq "error_log") {
next;
}
$i = $name;
$i =~ s|logs/||go;
open( FP , $name );
while () {
chop;
if ( /^(.*) - - \[(.*)\] "(.*)" [0-9]+ [0-9]+ \"(.*)\" \"(.*)\"$/go ) {
$sss = $_;
$host = $1;
$date = $2;
$url = $3;
$refer = $4;
$agent = $5;
$date = ddConv( $date );
$url = urlConv( $url );
( $sn , $ss ) = searchURL( $refer );
unless ( $sn eq "0") {
$ss =~ tr/+/ /;
# S-JISコード変換
$ss =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
if ($sss =~ /\&ie=utf-?8/goi) {
$ss = &Utf8toSJIS( $ss );
} else {
$ss = kanjiConv( $ss );
}
print "";
print "$date | ";
print "$sn | ";
print "$ss | ";
print "$url | ";
print "$host | ";
print "$agent | ";
print "
\n";
}
}
}
}
print "
\n";