log4perl

最近ひょんなことでperlからログを出すことになり、log4perlを使いました。なかなかいいですね。log4jを知っている人には使いやすいのではないでしょうか。

インストールはCPANから探してきて(http://search.cpan.org/~mschilli/Log-Log4perl-0.51/)、makeするだけです。

$ tar zxf Log-Log4perl-0.51.tar.gz
$ cd Log-Log4perl-0.51/
$ perl Makefile.PL
$ make
$ make test
$ make install


以下のような感じで使えるようです。使い方はREADMEと、perl.comの文章(Retire your debugger, log smartly with Log::Log4perl!)を参考にしました。

use Log::Log4perl;

Log::Log4perl::init('/etc/log4perl.conf');
$logger = Log::Log4perl->get_logger('foo.bar');

$logger->info("This is info message");
$logger->debug("ARGV: " . join " ", @ARGV);

設定ファイルはlog4jにそっくりですね。

log4perl.logger.nomail = DEBUG, FileAppndr1
log4perl.appender.FileAppndr1 = Log::Log4perl::Appender::File
log4perl.appender.FileAppndr1.filename = /var/log/log4perl.log
log4perl.appender.FileAppndr1.layout=Log::Log4perl::Layout::PatternLayout
log4perl.appender.FileAppndr1.layout.ConversionPattern=%d %p> %F{1}:%L %M - %m%n

ハマリどころも特に無く、いまのところ便利に使えています。