Apacheのアクセスログを加工する方法

Apacheのログフォーマットは、「httpd.conf」で自由に設定が可能です。
あらかじめ、以下の4種類のフォーマット(「combined」「common」「referer」「agent」)が用意されているのですが、
それぞれカスタマイズすることが可能です。

  1. LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
  2. LogFormat "%h %l %u %t \"%r\" %>s %b" common
  3. LogFormat "%{Referer}i -> %U" referer
  4. LogFormat "%{User-agent}i" agent


更に、カスタマイズしたログをPHPを用いて出力するには…

<?php
$val = "ChooChoo";
apache_note("logChooChoo", $val);
?>

パラメータ 内容
a a

 %a リモートIPアドレス
 %A ローカルIPアドレス
 %B HTTPヘッダを除いた転送バイト数
 %b HTTPヘッダを除いた転送バイト数。転送バイト数が0の場合は - が記述されます。
 %h リクエストしたリモートホスト
 %H リクエストされたプロトコル
 %l identによるリモート・ユーザ名
 %t リクエストを受けた時刻
 %r HTTPリクエストヘッダー
 %s サーバーがリクエストに対して返したステータスコード。%>s と記述することで最後のリクエストを記します。
 %U リクエストされたURL
 %u 認証に使用されたリモートユーザー名
 %v リクエストを処理するサーバー名
 %V UseCanonicalNameディレクティブの設定に応じたサーバー名