简单过滤掉常用web服务器日志中指定格式文件的记录

编辑:管理员 发布时间:2022-06-29 17:40:24522

在维护web服务器时,有时候会需要分析服务器日志记录来维护优化服务器中的程序,查看网站状态,但往往日志在记录的时候会产生大量的图片、css等不需要的访问日志产生,那么该怎样过滤掉这些不需要统计的日志呢?

这里我们简单介绍下常用的web服务器nginx以及apache.

1、首先是nginx:

修改配置文件nginx.conf或conf文件夹vhosts文件夹下的test.conf配置站点的server双括号中

server {

.........添加配置...

}

添加如下代码:

location ~ .*\.(gif|jpg|jpeg|png|js|css)$ {

aaccess_log /dev/null;

}

或者

location ~ .*\.(gif|jpg|jpeg|png|js|css)$ {

{

access_log off;

}

重载配置后会自动过滤掉js、css以及图片等常用的静态文件日志,除了以上的配置还可以使用ngx_log_if扩展来排除不需要记录的日志.

2、apache服务器

首先打开conf\extra\下的vhosts.conf网站配置文件

<VirtualHost *:80>

DocumentRoot "C:/www"

ServerName xxx.xxx.xxx

ErrorLog "logs/网站域名-error.log"

CustomLog "logs/网站域名-access.log" common

</VirtualHost>

将其中的CustomLog "logs/网站域名-access_log" common

修改为:

CustomLog "|bin/rotatelogs.exe logs/xxxxxx-access_%Y%m%d.log 86400" combined env=!remove

其它环境下为:

CustomLog "|/usr/local/apache/bin/rotatelogs -l logs/xxxxxx-access_%Y%m%d.log 86400" combined env=!remove

指定使用apache自带的rotatelogs工具,%Y%m%d将日志按每天分割,combined表示是日志格式,指使用combined日志格式用来记录访问日志.然后继续在下方添加:

SetEnvIf Request_URI "\.(js|css|gif|jpg|png)$" remove

SetEnvIf匹配排除服务器中接受的请求中包含由后缀.gif.jpg.png.css.js的日志内容,命名为remove

<VirtualHost *:80>

DocumentRoot "C:/www"

ServerName kkk.kkk.kkk

ErrorLog "logs/kkk-error.log"

CustomLog "|bin/rotatelogs.exe logs/kkk-access_%Y%m%d.log 86400" combined

SetEnvIf Request_URI "\.(js|css|gif|jpg|png)$" remove

</VirtualHost>

然后保存后重启apache服务器,即可排除指定静态文件的访问日志.

其中ServerName 后面的为许哟啊设置的绑定域名.

以上就是常用的web网页服务器中不记录指定格式静态文件日志记录的常用方法.

TAGS: 服务器管理
热门文章
最新文章

热门标签

数学计算路径命令行表单字符符号nginxcookiejavapython数组文字处理小数服务器管理apache图片处理