Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何配置log4perl.conf和perl脚本,以便为日志文件设置正确的权限?_Perl_Logging_Cpan_Log4perl - Fatal编程技术网

如何配置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