可以把日志按小时滚动,采用php正则分析日志的方式进行解决
$logLine ='127.0.0.1 - - [22/May/2015:17:09:13 +0800] "GET /sale/images/y-select.png HTTP/1.1" 200 1095';
$pattern = '/^(?P<ip>[0-9.]+) - - \[(?P<time>[^\]]+)\]+ "GET (?P<url>[^ ]+) HTTP\/1.[1|0|2]" (?P<status>[0-9.]+) (?P<size>[0-9.]+)/i';
preg_match($pattern, $log, $match);
//var_dump($match);
$ip = $match['ip'];
$time = strtotime($match['time']);
$url = $match['url'];
$status = $match['status'];
$size = $match['size'];
printf("IP:%s 访问时间:%s URL:%s 状态:%s 文件尺寸:%s",$ip,$time,$url,$status,$size);
也可是这样
运用正则表达式分隔Apache日志文件
www.MyException.Cn 网友分享于:2015-08-26 浏览:17次
使用正则表达式分隔Apache日志文件以上就介绍了php正则解析apache日志文件文件,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号