Log::Log4perlでログを取ることにしようかと
2006-11-06-4
[Programming]
下記を読みながらメモ。
- 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 がある。
これに関して、":easy" を使った例:
なお、
ドキュメント読むとなんか細かいことがいろいろできそうなんだけど、
当面は ":easy" でいいかな。あとは必要になり次第。
- 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" でいいかな。あとは必要になり次第。
