Chinaunix首页 | 论坛 | 博客
  • 博客访问: 485165
  • 博文数量: 279
  • 博客积分: 4467
  • 博客等级: 上校
  • 技术积分: 2830
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-03 14:43
文章分类

全部博文(279)

文章存档

2013年(1)

2012年(39)

2011年(35)

2009年(29)

2008年(131)

2007年(44)

分类:

2008-01-22 16:18:14

 HTTPD::Log::Filter

#!/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方法打印出作者所使用的匹配模式:


use HTTPD::Log::Filter;

print HTTPD::Log::Filter->;new(format=>;"CLF",capture=>;['request'])->;re;




详见perldoc HTTPD::Log::Filter. enjoy it :)
阅读(588) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~