在apache访问日志中,默认会记录所有动作。包括本地一些静态小图片,从而日志变得繁多臃肿。
这时我们可以指定,不记录指定文件类型的日志,来达到只记录我们想要的日志。
配置步骤:
1:标记指定文件类型
<VirtualHost *:80>
ServerAdmin 4614768@qq.com
DocumentRoot "/usr/local/src/Discuz"
ServerName www.llzdwyp.com
ServerAlias www.wyp.com
ServerAlias www.hdnet.com
<IfModule mod_rewrite.c>
RewriteEngine on
Rewritecond %{HTTP_HOST} ^www.wyp.com$ [OR]
Rewritecond %{HTTP_HOST} ^www.hdnet.com$
RewriteRule ^/(.*)$ http://www.llzdwyp.com/$1 [R=301,L]
</IfModule>
SetEnvIf Request_URI ".*\.gif$" image-request
SetEnvIf Request_URI ".*\.jpg$" image-request
SetEnvIf Request_URI ".*\.bmp$" image-request
SetEnvIf Request_URI ".*\.swf$" image-request
SetEnvIf Request_URI ".*\.css$" image-request
SetEnvIf Request_URI ".*\.js$" image-request
SetEnvIf Request_URI ".*\.png$" image-request
ErrorLog "logs/dummy-host.example.com-error_log"
CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/%Y%m%d-access_log 86400" combined
其中Requiest_URI代表日志记录中192.168.11.201 - - [22/Aug/2015:00:28:38 +0800] "GET /static/image/common/pt_item.png HTTP/1.1" 301 262 "http://www.llzdwyp.com/forum.php" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729;.NET CLR 3.0.30729; .NET4.0C; .NET4.0E)"
GET这个动作之后的域名子地址
".*\.gif$"代表以.gif结尾
image-request代表标记
2:标记处理
CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/%Y%m%d-access_log 86400" combined env=!image-request
也就是env不等于标记image-request 即不记录标记的日志
原文地址:http://llzdwyp.blog.51cto.com/6140981/1686947