[英]How can I log HTTP::Async communication in Perl?
我有一个使用threads
的 Perl 代码和HTTP::Async
与多个出站 IP 地址 >>
use threads ( 'yield',
'exit' => 'threads_only',
'stack_size' => 2*16384 );
use strict;
use warnings;
no warnings 'threads';
use threads::shared;
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Async;
...
my $async = HTTP::Async->new( ... );
...
foreach (@list) {
$thread = threads->create( sub {
local $SIG{KILL} = sub { threads->exit };
...
$ua->local_address($ip);
$request->url($url);
$async->add($request);
while ($response = $async->wait_for_next_response) {
...
}
}, $_);
}
...
我需要生成一些基本的应用程序日志,其中包括url和出站 IP信息。
如何记录HTTP::Async
通信?
您实际上并没有在该代码中使用LWP ,您只是在加载它。 同样,从您的代码示例中,您不清楚为什么要使用线程。 HTTP::Async 负责“一次”执行多个 HTTP 请求。
它看起来不像HTTP::Async有任何内置的调试机制,但如果您需要帮助查看它是什么,那么在该模块中添加一个“调试”标志并在适当的位置添加一些警告语句会相对简单正在做。 您还可以在自己使用 HTTP::Async 的代码中添加调试代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.