访问日志不记录静态文件

简介:

网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录.看的是请求哪个页面。因为不去做限制,每个请求都包含很多的js、css请求,那么每一个请求都会记录一条日志,日志文件会变的越来越大,不仅消耗磁盘空间还消耗磁盘io。

把虚拟主机配置文件改成如下: 
<VirtualHost :80>
DocumentRoot "/data/wwwroot/www.123.com"
ServerName www.123.com
ServerAlias 123.com
相当于定义了一个环境变量,如果访问的uri,后面是正则gif等等、结尾的做一个标记img
SetEnvIf Request_URI ".
.gif$" img
SetEnvIf Request_URI "..jpg$" img
SetEnvIf Request_URI ".
.png$" img
SetEnvIf Request_URI "..bmp$" img
SetEnvIf Request_URI ".
.swf$" img
SetEnvIf Request_URI "..js$" img
SetEnvIf Request_URI ".
.css$" img 
CustomLog "logs/123.com-access_log" combined env=!img //在这个上面一行定义。combined env=!img //定义什么样的日志才会记录到日志里(img除外的)
</VirtualHost>
重新加载配置文件 -t, graceful
mkdir /data/wwwroot/www.123.com/images //创建目录,并在这目录下上传一个图片
curl -x127.0.0.1:80 -I 123.com/images/123.jpg 
tail /usr/local/apache2.4/logs/123.com-access_log //日志不记录jpg结尾的日志



本文转自 虾米的春天 51CTO博客,原文链接:http://blog.51cto.com/lsxme/2052785,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
23天前
|
Java
使用Java代码打印log日志
使用Java代码打印log日志
77 1