在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$" p_w_picpath-request

    SetEnvIf Request_URI ".*\.jpg$" p_w_picpath-request

    SetEnvIf Request_URI ".*\.bmp$" p_w_picpath-request

    SetEnvIf Request_URI ".*\.swf$" p_w_picpath-request

    SetEnvIf Request_URI ".*\.css$" p_w_picpath-request

    SetEnvIf Request_URI ".*\.js$" p_w_picpath-request

    SetEnvIf Request_URI ".*\.png$" p_w_picpath-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/p_w_picpath/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结尾

p_w_picpath-request代表标记


2:标记处理

 CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/%Y%m%d-access_log 86400" combined env=!p_w_picpath-request

也就是env不等于标记p_w_picpath-request 即不记录标记的日志