[perl]代码库
#!/usr/bin/perl
use strict;
use HTTPD::Log::Filter;
my $filter = HTTPD::Log::Filter->new ( format => "CLF",
capture => ['request', 'host'] );
foreach ( `cat access_log` )
{
chomp;
unless ( $filter->filter ( $_ ) )
{
print "[$_]\n";
next;
}
print $filter->request, "\n";
}
exit 0;
如果我们工作中经常需要分析Apache日志,这个模块可以提供一些方便。
创建对象实例以后,用filter方法来过滤,没有正确匹配的行将返回false,
然后用相应的方法print出我们需要的数据。 ( host,request,date...等等方法,
由capture选项以参数引入 )
可以用re方法打印出作者所使用的匹配模式:
QUOTE:
use HTTPD::Log::Filter;
print HTTPD::Log::Filter->new ( format=>"CLF",capture=>['request'] )->re;
详见perldoc HTTPD::Log::Filter. enjoy it
by: 发表于:2017-09-13 14:14:31 顶(0) | 踩(0) 回复
??
回复评论