古い記事
ランダムジャンプ
新しい記事
下記を読みながらメモ。

- perl.com: Retire your debugger, log smartly with Log::Log4perl!
  http://www.perl.com/pub/a/2002/09/11/log4perl.html

Log::Log4perl には5つの logging levels がある。
(低) DEBUG < INFO < WARN < ERROR < FATAL (高)
例えば、DEBUG を指定すると全レベルのメッセージが出る。
これに関して、":easy" を使った例:
#!/usr/bin/perl
use strict;
use warnings;
use Log::Log4perl qw(:easy);

test($DEBUG);
test($WARN);
test($FATAL);

sub test {
    my $level = shift;
    print "LEVEL = $level\n";
    Log::Log4perl->easy_init({level => $level,
                              layout => "%d %p> %F{1}:%L %M - %m%n"});
    my $logger = get_logger();
    $logger->debug("debug");
    $logger->info("info");
    $logger->warn("warn");
    $logger->error("error");
    $logger->fatal("fatal");
}
実行結果:
% ./log1.pl
LEVEL = 10000
2006/11/06 22:53:41 DEBUG> log1.pl:16 main::test - debug
2006/11/06 22:53:41 INFO> log1.pl:17 main::test - info
2006/11/06 22:53:41 WARN> log1.pl:18 main::test - warn
2006/11/06 22:53:41 ERROR> log1.pl:19 main::test - error
2006/11/06 22:53:41 FATAL> log1.pl:20 main::test - fatal
LEVEL = 30000
2006/11/06 22:53:41 WARN> log1.pl:18 main::test - warn
2006/11/06 22:53:41 ERROR> log1.pl:19 main::test - error
2006/11/06 22:53:41 FATAL> log1.pl:20 main::test - fatal
LEVEL = 50000
2006/11/06 22:53:41 FATAL> log1.pl:20 main::test - fatal

なお、
Log::Log4perl->easy_init({file => ":utf8> a.log", ... });
などのファイル指定も可能。

ドキュメント読むとなんか細かいことがいろいろできそうなんだけど、
当面は ":easy" でいいかな。あとは必要になり次第。