如何重定向Perl的IO :: Socket :: SSL qw(debug4)生成的消息?

时间:2019-08-26 14:40:38

标签: perl logging

我希望能够跟踪错误以防万一。到目前为止,我正在终端中显示qw(debug4)生成的日志,但是我想将它们保存到数组甚至文件中。

这是我定义日志生成的方式:

use IO::Socket::SSL qw(debug4);

以及一些日志示例:

DEBUG: .../IO/Socket/SSL.pm:692: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:694: socket connected
DEBUG: .../IO/Socket/SSL.pm:717: ssl handshake not started

1 个答案:

答案 0 :(得分:0)

以下是如何将STDERR重定向到变量的示例:

use feature qw(say);
use strict;
use warnings;
use IO::Socket::SSL qw(debug4);

my $stderr;
close STDERR;
open(STDERR, ">", \$stderr ) or die "Can't reopen STDERR: $!";
my $cl = IO::Socket::SSL->new('www.google.com:443');
print $cl "GET / HTTP/1.0\r\n\r\n";
say $stderr;