2通りご紹介。
例として、"mykey"というキーの値を設定したいとする。
#①apache_noteを使う
##httpd.conf
例えば以下のようになっていたら
LogFormat "%h %l %u %t \"%r\" %>s %b" combined
CustomLog /var/log/httpd/foobar-access.log combined
こうする("%{mykey}n"を追加)。
LogFormat "%h %l %u %t \"%r\" %>s %b %{mykey}n" combined
%{mykey}nのnの意味は以下参照。
%{Foobar}n 他のモジュールからのメモ Foobar の内容
http://httpd.apache.org/docs/2.2/ja/mod/mod_log_config.html
でもどっちかというとLTSVにしてるときの方がラベル張れて使いやすい。
LTSVならこうする。
LogFormat "host:%h\t .... \tmy_key:%{mykey}n" combined
##php
以下実行
apache_note("mykey", "hoge");
apache_note — Apacheリクエスト記号(note)を取得/設定する
http://php.net/manual/ja/function.apache-note.php
#②HTTPヘッダを使う
①の方法でもいいんだけど、リバースプロキシのログでも値が見たいときとかに不便。
なのでHTTPヘッダを使う。
##httpd.conf
LTSVだとこう。
LogFormat "host:%h\t .... \tmy_key:%{Mykey}o" combined
%{Mykey}oのoの意味は以下参照。
%{Foobar}o 応答の Foobar: ヘッダの内容
http://httpd.apache.org/docs/2.2/ja/mod/mod_log_config.html
##php
以下実行
header('Mykey: hoge');
header — 生の HTTP ヘッダを送信する
http://php.net/manual/ja/function.header.php