私はインターネットを検索し、STDOUTを2つの異なる場所に送信するための良い解決策を見つけました。同時にログファイルやスクリーンに似ています。ここでは一例です:STDOUTとSTDERRをログファイルとWin32 Perlの画面に送ることはできますか?
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ユーティリティを使用しない解決策を望んでいました...でもコマンドラインでもありません:-) –
依存関係を減らすのに役立つhttp://www.robvanderwoude.com/tee.phpここにperl teeがあります:) – msandiford
「Perlスクリプト'print $ _;' " –