我这样做是为了记录发送到我脚本中STDOUT
的每条消息。
open(STDOUT," | tee $log") or die "Unable to open $log";
是否可以轻松过滤发送到日志的所有邮件?说一个角色的替换?
答案 0 :(得分:2)
不是你这样做的方式,因为你正在做的是将所有发送到tee
而tee
正在打印它&# 39;记录。
你也许可以创建一个内置sed
的管道。但另一种选择可能就是编写自己的“log_line”#39; sub,显式打印到日志文件和stdout。
sub print2 {
print {$output_fh} @_;
print @_;
}
你可以构建自己的变换。
您还可以使用多个模块,例如IO::Tee
和log4perl
。如果您想要将STDOUT
和您的日志放在不同的位置,那么可能值得考虑进行功能更全面的日志记录。