多语言展示
当前在线:1574今日阅读:91今日分享:37

windows下apache开启日志记录,记录指定web日志

此教程主要是在windows2008下设置apache的httpd.conf配置文件,实现记录自己想要记录的web访问日志,如客户机IP、连接的日期和时间、响应请求的状态代码等等。
工具/原料
1

apache

2

windows

方法/步骤
1

首先打开apache安装目录下的conf/httpd.conf配置文件找到: CustomLog 'logs/access.log' common 这个是保存的日志目录,一般是在apache安装目录下的logs目录下,后面的access.log就是保存的日志名,根据自己的需求修改,一般不是比赛要求,默认即可!我把它修改为 CustomLog 'logs/webaccess.log' common 然后再找到上面的LogFormat '%h %l %u %t \'%r\' %>s %b' common这个就是设置要保存的日志内容,前面的%h %l都代表一个要记录的信息大家根据自己需求,按照下面的译文进行修改。Apache文档已经给出了所有可用于格式串的变量及其含义,下面是其译文: %…a: 远程IP地址 %…A: 本地IP地址 %…B: 已发送的字节数,不包含HTTP头 %…b: CLF格式的已发送字节数量,不包含HTTP头。例如当没有发送数据时,写入‘-’而不是0。 %…{FOOBAR}e: 环境变量FOOBAR的内容 %…f: 文件名字 %…h: 远程主机 %…H 请求的协议 %…{Foobar}i: Foobar的内容,发送给服务器的请求的标头行。 %…l: 远程登录名字(来自identd,如提供的话) %…m 请求的方法 %…{Foobar}n: 来自另外一个模块的注解“Foobar”的内容 %…{Foobar}o: Foobar的内容,应答的标头行 %…p: 服务器响应请求时使用的端口 %…P: 响应请求的子进程ID。 %…q 查询字符串(如果存在查询字符串,则包含“?”后面的部分;否则,它是一个空字符串。) %…r: 请求的第一行 %…s:  。对于进行内部重定向的请求,这是指*原来*请求 的状态。如果用%…>s,则是指后来的请求。 %…t: 以公共日志时间格式表示的时间(或称为标准英文格式) %…{format}t: 以指定格式format表示的时间 %…T: 为响应请求而耗费的时间,以秒计 %…u: 远程用户(来自auth;如果返回状态(%s)是401则可能是伪造的) %…U: 用户所请求的URL路径 %…v: 响应请求的服务器的ServerName %…V: 依照UseCanonicalName设置得到的服务器名字    在所有上面列出的变量中,“…”表示一个可选的条件。如果没有指定条件,则变量的值将以“-”取代。分析前面来自默认httpd.conf文件的 LogFormat指令示例,可以看出它创建了一种名为“common”的日志格式,其中包括:远程主机,远程登录名字,远程用户,请求时间,请求的第一 行代码,请求状态,以及发送的字节数。

2

比如说我想要记录:客户机ip、连接的日期和时间、响应请求的状态代码、传送的字节数、请求的URL路径,先用#注释之前LogFormat日志配置,再复制一份出来粘贴到下面,有备无患。对应添加如下:LogFormat '%a %t %s %b %U' common

3

然后保存,重启apache,无报错重启成功后Apache的logs目录下会生成一个日志文件,刚刚上面CustomLog 设置的是什么名字就是什么名字,我设置的是webaccess.log

4

然后我们通过ip访问一下网站,我就用另外一台虚拟机来试试吧。第二个图片的1.php是php探针页面,因为我配置了php,如果不会apache+php+mysql的欢迎关注我,后期我会出教程的访问的网址:http://10.0.0.3和http://10.0.0.3/1.php

5

访问了后我们来看看日志文件10.0.0.1 [26/Sep/2017:16:15:48 +0800] 200 2146 /1.php分析一下这条10.0.0.1客户机ip[26/Sep/2017:16:15:48 +0800]时间200状态代码2146传送的字节数/1.php请求的网站路径OK,到此已经可以了!!!

注意事项
1

备份

2

代码别打错

推荐信息