【发布时间】:2017-01-26 21:16:25
【问题描述】:
开始我的http server 时,我不想看到>> Dancer2 v0.201000 server <pid> listening on http://0.0.0.0:<port> 打印在stderr 上。这就是我在调用start()之前添加以下行的原因@
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); 没有帮助)?
【问题讨论】:
-
您要禁用所有日志记录,还是只禁用第一条消息?
标签: perl stdout stderr io-redirection dancer