#!/usr/local/bin/perl # ログ表示CGIスクリプト Ver.1.01(00/09/10) # byすらむどらごん(isobe@cx.airnet.ne.jp) # http://www4.airnet.ne.jp/isobe/soft/printlog.cgi #カウンター表示CGIスクリプト # http://www4.airnet.ne.jp/isobe/soft/counter.cgi #のログを、整形して、リンク元の部分をリンクにして #表示するPerlスクリプト。 #さらに、呼び出すときの引き数で(「log.cgi?num=1」の様に)、 #ログファイルの添え字を指定できるので、 #このスクリプトで、何カ所かログを一度に処理できる。 #「#!/usr/local/bin/perl」のところと、 #ログファイルの指定の所は、環境にあわせて変えてください。 #パラメータとして渡された添え字 @temp = split(/=/,$ENV{'QUERY_STRING'}); $num = $temp[1]; #ログファイルの指定 #$0はこのファイルがおいてあるディレクトリ #$numは上の添え字に置き換えられる。 $0 =~ s/(.*)\/([^\/]*)$/${1}/; $LOG_FILE = "$0/../soft/log$num.txt"; #ヘッダの表示 print "Content-Type: text/html\n\n"; #出力 print "\n"; print "Access log $num\n"; print "\n"; print "\n"; print "
\n";

#1件ごとの出力
open(LOG_FILE);
while() {
    chop;
    @one_line = split(/\s+/, $_, 10);
    @hoge2 = split(/ http:/, $_);
    if ($hoge2[1] eq "") {
	printf("%6d %s %s %2d %s %s %4d %-25s %s\n",$one_line[1],$one_line[2],$one_line[3],$one_line[4],$one_line[5],$one_line[6],$one_line[7],$one_line[8],$one_line[9]);
    } else {
    @hoge1 = split(/ http:/, $one_line[9]);
        printf("%6d %s %s %2d %s %s %4d %-25s %s http:%s\n",$one_line[1],$one_line[2],$one_line[3],$one_line[4],$one_line[5],$one_line[6],$one_line[7],$one_line[8],$hoge1[0],$hoge2[1],$hoge2[1]);
    }
}

close(LOG_FILE);

print "

\n"; print "\n";