Log::Log4Perl
perl スクリプトのロギングに使用しています。1 つのことを除いて、すべてがうまく機能しています。さまざまなスクリプトで使用される (およびさまざまなユーザーによって実行される) いくつかの共通モジュールがあります。これらのログ ファイルにアクセス許可を設定したいのです-rw-rw-rw-
が、私が使用している次のコードは役に立たないようです。
私の中で/etc/log4perl.conf
# Logger for /usr/local/bin/script.pl
log4perl.logger.SCRIPT=DEBUG, SCRIPT_LOG
log4perl.appender.SCRIPT_LOG = Log::Dispatch::FileRotate
log4perl.appender.SCRIPT_LOG.filename = /var/log/perl/script.log
log4perl.appender.SCRIPT_LOG.mode = append
log4perl.appender.SCRIPT_LOG.autoflush = 1
log4perl.appender.SCRIPT_LOG.size = 2097152
log4perl.appender.SCRIPT_LOG.max = 5
log4perl.appender.SCRIPT_LOG.layout = Log::Log4perl::Layout::PatternLayout
私のperlスクリプトではscript.pl
use Log::Log4perl qw(get_logger :levels);
sub _log4perl {
umask 0000;
Log::Log4perl->init("/etc/log4perl.conf");
my $log4perl = get_logger("SCRIPT");
return $log4perl;
}
この構成と対応するコードscript.log
は、許可を得てファイルを作成します-rw-r--r--
が、必要です-rw-rw-rw-
。コードに何かひどく問題がありますか? Can file appenders create files with different permissions?もお読みください。