おそらく、@mob の回答が当面の問題を解決しました。ただし、モードでLog::Log4perlを使用することを検討することをお勧めしeasy
ます。これにより、何度も車輪の再発明を行う必要がなくなり、簡単に構成可能なログ レベルを無料で取得できます。
#!/usr/bin/env perl
use strict; use warnings;
use Log::Log4perl qw(:easy);
Log::Log4perl->easy_init($WARN);
while (<>) {
INFO "$. : $_";
if ( /easy/ and ($. > 1)) {
ERROR "$ARGV [$.] - Make easy things harder!";
}
if (eof) {
ALWAYS "Done with $ARGV";
}
}
C:\temp> log.pl log.pl
2012/07/07 20:41:57 log.pl [5] - 簡単なことを難しくしよう!
2012/07/07 20:41:57 log.pl [6] - 簡単なことを難しくしよう!
2012/07/07 20:41:57 log.pl [10] - 簡単なことを難しくしよう!
2012/07/07 20:41:57 log.pl [11] - 簡単なことを難しくしよう!
2012/07/07 20:41:57 log.plで完了
次の点にも注意してください。
これは、人々が Log::Logperl にゆっくりと慣れるのにうまく機能することが証明されていますが、(カテゴリ、アペンダー、レベル、レイアウト) をいじるためにたくさんの異なるノブを使って、頭の上でそれらを壊すことを効果的に回避していますが、Log の全体的な使命: :Log4perl は、コンセプトに慣れるために、最初からカテゴリを使用できるようにするためのものです。したがって、これは man ページにかなり隠しておきます (ここまでお読みいただきありがとうございます :)。