我在使用过滤器时遇到了一些问题
HTTP::Proxy
我只是想不出我应该在
logmask()
函数获取该信息。
我有一个日志文件,那部分很好,正在进行日志记录,但是没有关于过滤器的信息,尽管它们已经实现并且(有时)正在工作。
我试过了
-
logmask(['FILTERS'])
-
logmask('FILTERS')
-
logmask(FILTERS)
这些都不管用!我错过了什么?
还有,两个面具的威力是什么?以及导出的常量
:log
?
我很困惑,正如你所知。
编辑:
按照下面的建议,我有以下脚本:
#!/sw/bin/perl
use strict;
use warnings;
use HTTP::Proxy qw( :log );
use HTTP::Proxy::BodyFilter::tags;
use HTTP::Proxy::BodyFilter::simple;
open( LOG, '>>', "/Users/ambrose/proxy-log.txt" ) or die "$!";
my $proxy = HTTP::Proxy->new;
$proxy->port(3128);
$proxy->logfh(*LOG);
$proxy->logmask( ALL );
$proxy->push_filter(
mime => 'text/html',
response => HTTP::Proxy::BodyFilter::tags->new(),
response => HTTP::Proxy::BodyFilter::simple->new(
sub { ${ $_[1] } =~ s!(</?)i>!$1b>!ig }
)
);
$proxy->start;
它不会记录关于过滤器的任何信息,尽管过滤器正在运行,但我可以看到斜体已经改为粗体,如示例中所示。
如果我换线:
$proxy->logmask( ALL );
到
$proxy->logmask( FILTERS );
日志文件中根本没有添加任何内容。