【发布时间】:2010-12-04 16:33:02
【问题描述】:
我在 Internet 上进行了搜索,并找到了一些将 STDOUT 发球到 2 个不同地方的好解决方案。喜欢日志文件,同时也喜欢屏幕。这是一个例子:
use IO::Tee;
my $log_filename = "log.txt";
my $log_filehandle;
open( $log_filehandle, '>>', $log_filename )
or die("Can't open $log_filename for append: $!");
my $tee = IO::Tee->new( $log_filehandle, \*STDOUT );
select $tee;
但是这个解决方案让 STDERR 只进入屏幕,我希望 STDERR 进入屏幕和 STDOUT 被记录到的同一个日志文件。这可能吗?
我的任务是记录我的构建过程,但我也想像往常一样在我的 IDE 屏幕上看到它。记录错误消息与记录快乐消息一样重要。并且将错误记录到单独的日志文件中并不是一个好的解决方案。
【问题讨论】:
标签: perl logging redirect stdout stderr