Perl RT记录器未写入文件[RT]

Perl RT记录器未写入文件[RT],perl,rt,Perl,Rt,我在RT中创建了一个动作模块。我想将RT记录器输出到文本文件中。我已经使用以下配置了RT_SiteConfig.pm: Set($LogToSyslog , 'info'); Set($LogToScreen , 'info'); Set($LogToFile , 'debug'); Set($LogToFile, 'info'); Set($LogToFile, 'warning'); Set($LogToFile, 'error'); Set($LogDir, '/tmp');

我在RT中创建了一个动作模块。我想将RT记录器输出到文本文件中。我已经使用以下配置了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测试服务器上测试的,不是在生产环境中。我可能会有这样的结果


你能帮我怎么做到这一点吗?非常感谢。

我知道您的配置文件中有太多指令
$LogToFile
。这种类型应该只有一个,如果没有,最后一个就可以了。因此,您已设置为记录
错误
,但您的模块记录
信息
。请参阅以了解日志级别是如何工作的。如果将日志级别设置为错误,日志记录过程将忽略所有调试、信息、通知和警告事件。

“我希望它输出RT::Logger内部的字符串”我不熟悉此软件,请提供指向
RT::Logger
模块及其源代码的链接。这将有助于澄清你的问题。