最近わかってきたんだけど、mod_perlってただのCGIエミュレータじゃないんだよね。Apacheの様々なハンドラをPerlで書けるようにしてる、って見方の方が正しい。つまり、Apacheの動きをカスタマイズできる。
で、今日はアクセスログに独自に発行したユーザIDを追加するってのをやってみた。つまり、簡易トラッキング。$r->notes(NAME => VALUE)ってのを使って先のハンドラにユーザIDを渡し、後はmod_logにお任せ。フォーマットで%{NAME}n って指定すれば、それでログに吐いてくれる。
後は、コンテンツハンドラのチェインなんてものを見てみた。うまくSTDOUTをtieしていけば、フィルタも作れるって寸法だ。
・・・まぁ、トラッキングもフィルタも、Apache2.0では標準サポートなんだけどね(ぼそそ。