Log::Log4perl でログに IP アドレスを出力

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} に置き換わる

See Also

Copyright © 髭。/ Hugo + hugo-book