NAME SiMH::WebLog - Webサーバログ読み込み SYNOPSIS use SiMH::WebLog; $weblog = SiMH::WebLog->new(); $weblog->open($filename) or die($weblog->{error}); while($res = $weblog->read()){ print($weblog->{host}, ' ', $weblog->{ident}, ' ', $weblog->{authuser}, ' [', $weblog->{timestamp}, '] "', $weblog->{request}, '" ', $weblog->{status}, ' ', $weblog->{bytecount}, ' "', $weblog->{referer}, '" "', $weblog->{agent}, "\"\n"); } defined($res) or die($weblog->{error}); $weblog->close(); DESCRIPTION Webサーバのアクセスログファイルを読み込む機能を提供するクラス。 現在の版では、Apacheの common または combined 形式のみを対象とする。 オブジェクトの生成は以下のコンストラクタで行う。 new() オブジェクトの生成初期化のみを行い、まだファイルオープン等は行わない。 以下の名前付きパラメタ(NAME=>$valueの形式)をオプション指定できる。 mw_method : 採用メソッド(正規表現) メソッドがこの指定にマッチする行を採用する。 nm_method : 除外メソッド(正規表現) メソッドがこの指定にマッチする行を除外する。 mw_path : 採用パス名(正規表現) URIのパス名部分がこの指定にマッチする行を採用する。 nm_path : 除外パス名(正規表現) URIのパス名部分がこの指定にマッチする行を除外する。 mw_status : 採用ステータスコード(正規表現) ステータスコードがこの指定にマッチする行を採用する。 nm_status : 採用ステータスコード(正規表現) ステータスコードがこの指定にマッチする行を採用する。 オブジェクトの状態は以下のインスタンス変数で確認できる。 filename : ログファイル名。未オープンならundefが格納される。 error : エラー発生時にその内容が文字列で格納される。 オブジェクトは以下のようなメソッドを受け付ける。 open(《ログファイル名》) 指定されたログファイルをオープンする。 成功時には真(1)が、エラー時には偽(undef)が返される。 read() 次のログ情報を1つ取得する。 成功時には真(1)が、EOF時には0が、エラー時にはundefが返される。 結果は以下ののインスタンス変数に格納される。 logline : ログの1行そのまま host : アクセス元のホスト名またはIPアドレス ident : アクセス元のident情報 authuser : 認証済みの場合のユーザID timestamp : ログ中の形式のままのタイムスタンプ request : リクエスト行(メソッド+Request-URI+HTTPバージョン) method : メソッド(GETやPOSTなど) requri : Request-URI path : Request-URIのパス名部分 status : ステータスコード bytecount : ヘッダ部分を除く転送バイト数 referer : Referer 情報 agent : User-Agent 情報 close() ログファイルをクローズする。 COPYRIGHT Copyright 2003, HIRANO Kiyoshi . このソフトウェアのソースコードおよびバイナリー形式の利用、複製、 再配布を、変更の有無に関わらず、以下の3つの条件の下で許可します。 1. ソースコードの再配布においては、上記著作権表示および許諾条件の 列挙を含めること。 2. バイナリー形式の再配布においては、上記著作権表示および許諾条件 の列挙を、配布物に附属した文書等に記載すること。 3. このソフトウェアの提供に際して、HIRANO Kiyoshi は一切の保証を しません。 理由のいかんを問わず、このソフトウェアの利用、複製、 再配布に伴い発生したいかなる損害も補償しません。