Apacheのアクセスログを加工する方法
Apacheのログフォーマットは、「httpd.conf」で自由に設定が可能です。
あらかじめ、以下の4種類のフォーマット(「combined」「common」「referer」「agent」)が用意されているのですが、
それぞれカスタマイズすることが可能です。
- LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
- LogFormat "%h %l %u %t \"%r\" %>s %b" common
- LogFormat "%{Referer}i -> %U" referer
- 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ディレクティブの設定に応じたサーバー名