Linux マシンに Log4perl がインストールされており、次のものがあります/path/to/log4perl.conf
。
log4perl.logger.Fizz = INFO, FizzAppender
log4perl.logger.Buzz = INFO, BuzzAppender
log4perl.appender.FizzAppender = Log::Dispatch::FileRotate
log4perl.appender.FizzAppender.filename = /my/logs/fizz-log.txt
log4perl.appender.FizzAppender.max = 1
log4perl.appender.FizzAppender.DatePattern = yyyy-MM-dd
log4perl.appender.FizzAppender.TZ = EST
log4perl.appender.FizzAppender.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.FizzAppender.layout.ConversionPattern = %d %m %n
log4perl.appender.BuzzAppender = Log::Dispatch::FileRotate
log4perl.appender.BuzzAppender.filename = /my/logs/buzz-log.txt
log4perl.appender.BuzzAppender.max = 1
log4perl.appender.BuzzAppender.DatePattern = yyyy-MM-dd
log4perl.appender.BuzzAppender.TZ = EST
log4perl.appender.BuzzAppender.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.BuzzAppender.layout.ConversionPattern = %d %m %n
各 perl スクリプトの内部 (各スクリプトは、異なるアペンダーと異なるログ ファイルへのログを使用します):
use Log::Log4perl;
my $log_conf = "/path/to/log4perl.conf";
Log::Log4perl::init($log_conf);
# In one script the logger is a "Fizz" logger (like below), and in the other
# script the logger is a "Buzz" logger.
my $logger = Log::Log4perl->get_logger("Fizz");
$logger->info("This should work.");
各スクリプトは異なるアペンダーを使用し、異なるファイルにログを記録しますが、それらはすべて同じ動作をするはずです。
- 各ログは 1 日 1 回ローテーションされ、古い (ローテーションされた) ログは削除されます
このスクリプトを 24 時間以上実行していますが、 .log の下にログが生成されていませ/my/logs/
ん。
だから私は尋ねます:私はlog4perl.conf
間違っていますか?そうでない場合、問題を診断するにはどうすればよいですか? perl スクリプトでライブラリを正しく初期化していませんか? 前もって感謝します。