當我開始我的http server
時,我不想看到>> Dancer2 v0.201000 server <pid> listening on http://0.0.0.0:<port>
印在stderr
上。這就是爲什麼我呼籲start()
重定向和恢復舞者的STDERR
get "/pwd" => sub {
my $pwd = cwd;
print STDERR "\n\n[PWD] : $pwd\n"; # this line is not being printed
print "\n\n[STDOUT::PWD] : $pwd\n";
my %responseHash = (pwd => $pwd);
my $response = encode_json \%responseHash;
return $response;
};
my $dancerStartErr;
sub startServer {
open (local *STDERR, ">", \$dancerStartErr)
or die "Dup err to variable error: $!\n";
start();
}
startServer();
的問題是,以後我不能打印在STERR
東西之前添加以下行。我如何重新打開STDERR
(open(STDERR, ">", \*STDERR);
沒有幫助)?
是否要禁用所有日誌記錄,或只是第一條消息? – simbabque