mazeltov7のweb断片

備忘録的なテキトーなことを書きます。(技術記事はQiitaに移行しました http://qiita.com/mazeltov7 )

ApacheのアクセスログにユーザーIDを記録する

コードじゃなくて設定系は忘れそうなので、メモしとく。

やりたいこと

アクセスログに閲覧してるユーザーIDを追加する
アクセスログを別のアクセスログに吐き出す ・ページからユーザーID送る

やったこと

ApacheのアクセスログにユーザIDを記録する方法 : makoto_fujimotoのblog
ほぼここでOK.
あと一応さっとここを確認。
ログファイル - Apache HTTP サーバ バージョン 2.2

/etc/httpd/conf/httpd.conf

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{MEMBER_ID}e" hogehoge

のようにMEMBER_ID追加して、hogehogeと名付ける。
で、これを別のログ(access_log_hoge)に吐き出す
/etc/httpd/conf/httpd.conf

# /hogehoge/からきたアクセスはhogeenvと名付ける
SetEnvIf Request_URI "/hogehoge/" hogeenv

# hogeenvからきたアクセスをhogehogeの形でaccess_log_hogeに吐き出す
CustomLog logs/access_log_hoge hogehoge env=hogeenv

ユーザーIDを送りたいページから送る。

<?php
apache_setenv("MEMBER_ID, "ユーザーID");
?>

以上。
hoge多すぎてわかりにくい…w