我在RT中创建了一个操作模块。我想将RT Logger输出到文本文件中。我已经用配置了RT_SiteConfig.pm
Set($LogToSyslog , 'info');
Set($LogToScreen , 'info');
Set($LogToFile , 'debug');
Set($LogToFile, 'info');
Set($LogToFile, 'warning');
Set($LogToFile, 'error');
Set($LogDir, '/tmp');
Set($LogToFileNamed , "rt.log");
我创建了动作模块:
package RT::Action::SetLoggingInfo;
use strict;
use warnings;
use base 'RT::Action';
sub Prepare {
my $self = shift;
$RT::Logger->info('Logging info');
$RT::Logger->info('Logging dump info');
return 1; # True if Commit should run, false if not
}
sub Commit {
my $self = shift;
return 1;
}
1;
我只希望它将RT::Logger中的字符串输出到/tmp中的日志文件(RT.log(中。但它不起作用,每当我试图在web cli中创建对象时,rt.log文件中都没有任何日志。我在rt测试服务器中进行测试,而不是在生产中。我很可能会有这样的结果。
你能帮我怎么做到这一点吗?非常感谢。
IMHO您的配置文件中有太多指令$LogToFile
。这种类型应该只有一个,如果没有,最后一个通吃。因此,您已设置为记录errors
,但您的模块记录info
。请参阅文档以了解日志级别的工作方式。如果将日志级别设置为error,则日志记录过程将省略所有调试、信息、通知和警告事件。