我们平时见到的网站都是运行在各种Web服务器上的,常见的Web服务器有:apache,nginx,iis,tengine。Web服务器维护着网站的运行,同时通过日志来记录运行情况,主要是访问日志和错误日志。
今天我们讨论的是访问日志,访问日志记录了访问网站的每一个请求的信息,简单来说,就是记录了什么人在什么时间访问了什么页面。我们可以通过配置服务器来决定具体记录哪些信息。以apache为例,默认记录的信息如下:
%h %l %u %t \"%r\" %>s %b
对应的一条记录如下:
127.0.0.1 - - [19/Jun/2020:15:30:53 +0800] "GET /index.php HTTP/1.1" 200 4549
日志可以记录哪些字段信息,以及各字段的含义可以参考:Apache日志详解。
日志信息对网站管理者掌握网站运行情况非常有帮助,不过日志记录常常非常多,动不动就是几万条,几十万条记录,要从这么多信息里找到我们需要的部分并不容易。这个时候最需要的就是一个可以从日志文件中提取日志记录,并能对提取到的记录进行按条件筛选的工具,因为我自己要用,于是我自己花时间写了一个。
工具要做的事:
1,正则判断日志类型:apache,nginx,iis三者中的哪一种
2,一行行读取日志,正则提取各字段信息</