繁体   English   中英

如何在Log4perl中抑制输出到stdout和stderr?

[英]How can I suppress output to stdout and stderr in Log4perl?

我有这个子来初始化我的记录器:

sub initLogfiles{
    Log::Log4perl->easy_init($INFO); # We log all debug, info, warn, error and fatal messages.
        my $userlogappender = Log::Log4perl::Appender->new(
        "Log::Log4perl::Appender::File",
        filename => USERLOGFILE,
        mode     => "append",
        recreate => 1
    );
    my $userloglayout = Log::Log4perl::Layout::PatternLayout->new("%d;%m%n");
    $userlogappender->layout($userloglayout);
    $userlogger->add_appender($userlogappender);
}

我只想在我的日志文件中有loginfo。 我如何防止这次登录到stdout?

我找到了。 我必须将此行添加到我的sub:

$userlogger->additivity(0);

我在这里找到了答案: log4perl FAQ

Log :: Log4perl-> easy_init()使用ScreenAppender初始化库,这就是将日志发送到stdout的原因。

删除它并添加以下内容以将所有日志(调试级别及更高级别)写入文件:

 Log::Log4perl->get_logger()->level($DEBUG);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM