Log::Log4perl でログに IP アドレスを出力 #
IP address の placeholder が用意されていないので。思いっきりドキュメントに書いてあるけど。
use Log::Log4perl;
Log::Log4perl::init_once('/path/to/log4perl.conf');
Log::Log4perl::NDC->push($ENV{REMOTE_ADDR});
NDC->push したものが %x のところに入るので、script の側で REMOTE_ADDR を仕込んでおく
NDC ではなくて、MDC->put を使って、下記のようにもできる
Log::Log4perl::MDC->put(‘REMOTE_ADDR’, $ENV{REMOTE_ADDR});
この場合は、%X{REMOTE_ADDR} が $ENV{REMOTE_ADDR} に置き換わる