RT LOGGER 不写入文件 [RT]

RT LOGGER not writing to a file [RT]

我在 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-test 服务器上进行测试,而不是在生产环境中。我可能会有这样的结果。

你能帮我实现这个目标吗?非常感谢。

恕我直言,您的配置文件中的指令过多 $LogToFile。这种应该只有一种,没有的话最后通吃。因此,您已设置记录 errors,但您的模块记录 info。查阅 documentation 以查看日志级别如何工作。如果将日志级别设置为错误,日志记录过程将忽略所有调试、信息、通知和警告事件。