При запуске http server
Я не хочу видеть >> Dancer2 v0.201000 server <pid> listening on http://0.0.0.0:<port>
, напечатанный на stderr
. Вот почему я добавил следующую строку перед вызовом start()
Перенаправление и восстановление STDERR in Dancer
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