ApacheのアクセスログにユーザーIDを記録する
コードじゃなくて設定系は忘れそうなので、メモしとく。
やりたいこと
・アクセスログに閲覧してるユーザーIDを追加する
・アクセスログを別のアクセスログに吐き出す
・ページからユーザーID送る
やったこと
ApacheのアクセスログにユーザIDを記録する方法 : makoto_fujimotoのblog
ほぼここでOK.
あと一応さっとここを確認。
ログファイル - Apache HTTP サーバ バージョン 2.2
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