YanoRyuichi.com/
Wiki
Blog
GitHub
Sandbox
開始行:
* Log:::Log4perl [#x3615e81]
** ロギングレベル [#w230df16]
- DEBUG
- INFO
- WARN
- ERROR
- FATAL
** easyモード [#qf1ec84a]
use Log::Log4perl qw/:easy/;
Log::Log4perl->easy_init($ERROR); # ロギングレベルの設定...
ERROR('##DEBUG##'); # 標準エラー出力へ
$logger = get_logger(); # ロガーオブジェクトを...
$logger->debug('##ERROR##'); # レベルが足りないので...
use Log::Log4perl qw/:easy/;
Log::Log4perl->easy_init({level => $DEBUG, file => '>>te...
DEBUG '##DEBUG##';
** カテゴリを指定して、loggerを使い分ける。 [#n865894b]
"MyTest::Test1"や"MyTest::Test2"がカテゴリ。":levels"で$E...
use Log::Log4perl qw/get_logger :levels/;
app_init();
do_main();
sub app_init {
Log::Log4perl->easy_init();
my $test1_logger = get_logger('MyTest::Test1');
$test1_logger->level($ERROR);
my $test2_logger = get_logger('MyLog::Test2');
$test2_logger->level($INFO);
}
sub do_main {
MyTest::Test1->new;
MyTest::Test2->new;
}
package MyTest::Test1;
use Log::Log4perl qw/get_logger/;
sub new {
my $logger = get_logger('MyTest::Test1');
$logger->info('test1 test');
}
1;
package MyTest::Test2;
use Log::Log4perl qw/get_logger/;
sub new {
my $logger = get_logger('MyTest::Test2');
$logger->info('test2 test');
}
1;
** appenderを指定して、ファイル出力を追加する [#x96922ac]
エラー出力には、"test1 test"と"test2 test"が表示される。t...
$test_logger = get_logger('MyTest')で、親のカテゴリを指定...
use Log::Log4perl qw/get_logger :levels/;
app_init();
do_main();
sub app_init {
Log::Log4perl->easy_init();
my $test_logger = get_logger('MyTest');
$test_logger->level($ERROR);
my $test1_logger = get_logger('MyTest::Test1');
my $appender = Log::Log4perl::Appender->new(
'Log::Log4perl::Appender::File',
filename => 'test.log',
mode => 'append',
);
$test1_logger->add_appender($appender);
}
sub do_main {
MyTest::Test1->new;
MyTest::Test2->new;
}
package MyTest::Test1;
use Log::Log4perl qw/get_logger/;
sub new {
my $logger = get_logger('MyTest::Test1');
$logger->fatal('test1 test');
}
1;
package MyTest::Test2;
use Log::Log4perl qw/get_logger/;
sub new {
my $logger = get_logger('MyTest::Test2');
$logger->error('test2 test');
}
1;
** layoutを指定して、フォーマットを修正する [#c601af61]
上のコードのapp_init()で、add_appender()する前に以下のコ...
my $layout = Log::Log4perl::Layout::PatternLayout->new("...
$appender->layout($layout);
すると、test.logの内容は以下のようになる。
2009/03/22 16:43:52 FATAL> 0.pl:37 MyTest::Test1::new - ...
** コンフィグファイルで初期化する [#h9eae653]
以下の内容で、log4perl.confとして保存する。log4perl.logge...
log4perl.logger=FATAL, Screen
log4perl.logger.MyTest.Test2=DEBUG, Log
log4perl.appender.Screen=Log::Log4perl::Appender::Screen
log4perl.appender.Screen.stderr=0
log4perl.appender.Screen.Threshold=FATAL
log4perl.appender.Screen.layout=Log::Log4perl::Layout::S...
log4perl.appender.Log=Log::Log4perl::Appender::File
log4perl.appender.Log.filename=test.log
log4perl.appender.Log.mode=append
log4perl.appender.Log.layout=Log::Log4perl::Layout::Simp...
app_init()を以下のようにして、コンフィグファイルで初期化...
sub app_init {
Log::Log4perl::init('log4perl.conf');
}
MyTest::Test1とMyTest::Test2はFATALレベルでScreenに出力、...
** ログをロテートする [#af0e9623]
size=50でファイルサイズKB指定し、max=5で最大5世代までロテ...
log4perl.logger=FATAL, Screen
log4perl.logger.MyTest.Test2=DEBUG, FR
log4perl.appender.Screen=Log::Log4perl::Appender::Screen
log4perl.appender.Screen.stderr=0
log4perl.appender.Screen.Threshold=FATAL
log4perl.appender.Screen.layout=Log::Log4perl::Layout::S...
log4perl.appender.FR=Log::Dispatch::FileRotate
log4perl.appender.FR.filename=test.log
log4perl.appender.FR.size=50
log4perl.appender.FR.max=5
log4perl.appender.FR.layout=Log::Log4perl::Layout::Simpl...
** 参考 [#ba24e4c8]
http://search.cpan.org/perldoc?Log::Log4perl
終了行:
* Log:::Log4perl [#x3615e81]
** ロギングレベル [#w230df16]
- DEBUG
- INFO
- WARN
- ERROR
- FATAL
** easyモード [#qf1ec84a]
use Log::Log4perl qw/:easy/;
Log::Log4perl->easy_init($ERROR); # ロギングレベルの設定...
ERROR('##DEBUG##'); # 標準エラー出力へ
$logger = get_logger(); # ロガーオブジェクトを...
$logger->debug('##ERROR##'); # レベルが足りないので...
use Log::Log4perl qw/:easy/;
Log::Log4perl->easy_init({level => $DEBUG, file => '>>te...
DEBUG '##DEBUG##';
** カテゴリを指定して、loggerを使い分ける。 [#n865894b]
"MyTest::Test1"や"MyTest::Test2"がカテゴリ。":levels"で$E...
use Log::Log4perl qw/get_logger :levels/;
app_init();
do_main();
sub app_init {
Log::Log4perl->easy_init();
my $test1_logger = get_logger('MyTest::Test1');
$test1_logger->level($ERROR);
my $test2_logger = get_logger('MyLog::Test2');
$test2_logger->level($INFO);
}
sub do_main {
MyTest::Test1->new;
MyTest::Test2->new;
}
package MyTest::Test1;
use Log::Log4perl qw/get_logger/;
sub new {
my $logger = get_logger('MyTest::Test1');
$logger->info('test1 test');
}
1;
package MyTest::Test2;
use Log::Log4perl qw/get_logger/;
sub new {
my $logger = get_logger('MyTest::Test2');
$logger->info('test2 test');
}
1;
** appenderを指定して、ファイル出力を追加する [#x96922ac]
エラー出力には、"test1 test"と"test2 test"が表示される。t...
$test_logger = get_logger('MyTest')で、親のカテゴリを指定...
use Log::Log4perl qw/get_logger :levels/;
app_init();
do_main();
sub app_init {
Log::Log4perl->easy_init();
my $test_logger = get_logger('MyTest');
$test_logger->level($ERROR);
my $test1_logger = get_logger('MyTest::Test1');
my $appender = Log::Log4perl::Appender->new(
'Log::Log4perl::Appender::File',
filename => 'test.log',
mode => 'append',
);
$test1_logger->add_appender($appender);
}
sub do_main {
MyTest::Test1->new;
MyTest::Test2->new;
}
package MyTest::Test1;
use Log::Log4perl qw/get_logger/;
sub new {
my $logger = get_logger('MyTest::Test1');
$logger->fatal('test1 test');
}
1;
package MyTest::Test2;
use Log::Log4perl qw/get_logger/;
sub new {
my $logger = get_logger('MyTest::Test2');
$logger->error('test2 test');
}
1;
** layoutを指定して、フォーマットを修正する [#c601af61]
上のコードのapp_init()で、add_appender()する前に以下のコ...
my $layout = Log::Log4perl::Layout::PatternLayout->new("...
$appender->layout($layout);
すると、test.logの内容は以下のようになる。
2009/03/22 16:43:52 FATAL> 0.pl:37 MyTest::Test1::new - ...
** コンフィグファイルで初期化する [#h9eae653]
以下の内容で、log4perl.confとして保存する。log4perl.logge...
log4perl.logger=FATAL, Screen
log4perl.logger.MyTest.Test2=DEBUG, Log
log4perl.appender.Screen=Log::Log4perl::Appender::Screen
log4perl.appender.Screen.stderr=0
log4perl.appender.Screen.Threshold=FATAL
log4perl.appender.Screen.layout=Log::Log4perl::Layout::S...
log4perl.appender.Log=Log::Log4perl::Appender::File
log4perl.appender.Log.filename=test.log
log4perl.appender.Log.mode=append
log4perl.appender.Log.layout=Log::Log4perl::Layout::Simp...
app_init()を以下のようにして、コンフィグファイルで初期化...
sub app_init {
Log::Log4perl::init('log4perl.conf');
}
MyTest::Test1とMyTest::Test2はFATALレベルでScreenに出力、...
** ログをロテートする [#af0e9623]
size=50でファイルサイズKB指定し、max=5で最大5世代までロテ...
log4perl.logger=FATAL, Screen
log4perl.logger.MyTest.Test2=DEBUG, FR
log4perl.appender.Screen=Log::Log4perl::Appender::Screen
log4perl.appender.Screen.stderr=0
log4perl.appender.Screen.Threshold=FATAL
log4perl.appender.Screen.layout=Log::Log4perl::Layout::S...
log4perl.appender.FR=Log::Dispatch::FileRotate
log4perl.appender.FR.filename=test.log
log4perl.appender.FR.size=50
log4perl.appender.FR.max=5
log4perl.appender.FR.layout=Log::Log4perl::Layout::Simpl...
** 参考 [#ba24e4c8]
http://search.cpan.org/perldoc?Log::Log4perl
ページ名: