如何配置log4perl.conf和perl脚本,以便为日志文件设置正确的权限?
我正在使用如何配置log4perl.conf和perl脚本,以便为日志文件设置正确的权限?,perl,logging,cpan,log4perl,Perl,Logging,Cpan,Log4perl,我正在使用Log::Log4Perl记录perl脚本。一切都很顺利,除了一件事;我有一些由不同脚本使用的通用模块(由不同的用户运行)。我希望这些日志文件具有-rw-rw-权限,但我正在使用的以下代码似乎没有帮助: 在my/etc/log4perl.conf中 # Logger for /usr/local/bin/script.pl log4perl.logger.SCRIPT=DEBUG, SCRIPT_LOG log4perl.appender.SCRIPT_LOG =
Log::Log4Perl
记录perl脚本。一切都很顺利,除了一件事;我有一些由不同脚本使用的通用模块(由不同的用户运行)。我希望这些日志文件具有-rw-rw-
权限,但我正在使用的以下代码似乎没有帮助:
在my/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-rw-
。代码有什么严重的错误吗?请阅读您可以设置权限:
权限($)
如果该文件尚不存在,请指定该文件应具有的权限
用…创建。可选。传递的参数必须是有效的八进制
值,如0600或Fcntl提供的常量,如
S|u IRUSR | S|u IWUSR
有关通过八进制时潜在陷阱的更多信息,请参见perlfunc中的“chmod”
价值观
您可以设置权限:
权限($)
如果该文件尚不存在,请指定该文件应具有的权限
用…创建。可选。传递的参数必须是有效的八进制
值,如0600或Fcntl提供的常量,如
S|u IRUSR | S|u IWUSR
有关通过八进制时潜在陷阱的更多信息,请参见perlfunc中的“chmod”
价值观
您有权更改umask吗?是否设置了umask?您是否有更改umask的权限?乌玛斯克准备好了吗?
log4perl.appender.SCRIPT_LOG.permission = 0644