如何将错误消息输出到其他日志文件?

时间:2011-12-11 01:54:43

标签: perl logging stderr

在Perl中你可以:

print STDERR "bla bla bla"; 

...而Apache会将其转储到/etc/httpd/logs/error_log

但是,如果我想将某些错误/警告消息发送到其他日志文件,该怎么办?

如何在Perl中创建一个函数来执行此操作?

print MYLOGFILE "bla bla bla"

...呈现给/logs/my_favorite_log

3 个答案:

答案 0 :(得分:7)

你应该看一下Perl的一些正式的日志包,比如log4perl。毫无疑问,还有其他人。

答案 1 :(得分:5)

使用Log::Trivial

use Log::Trivial;
my $logfile = Log::Trivial->new(log_file => "logs/my_favourite.log");
$logfile->set_level(3);
$logfile->write(comment => "bla bla bla");

答案 2 :(得分:4)

我建议按照Will的建议查看Log::Log4perl。好introduction tutorial available

对于小脚本,还可以使用easy mode进行快速设置。