首页 > 代码库 > Nginx日志过滤 使用ngx_log_if不记录特定日志

Nginx日志过滤 使用ngx_log_if不记录特定日志

ngx_log_if是Nginx的一个第三方模块。它在Github上的描写叙述是这样介绍的:ngx_log_if是一个独立的模块,同意您控制不要写的訪问日志,类似于Apache的"CustomLog env = XXX"

第一步:
先到Github下载ngx_log_if地址https://github.com/cfsego/ngx_log_if/

第二步:
安装第三方模块到Nginx。第三方模块的安装能够參考http://wiki.nginx.org/3rdPartyModules 使用--add-module加入解压后的ngx_log_if例如以下

./configure --add-module=/var/local/ngx_log_if-master
然后再编译安装Nginx就可以。

第三步:
配置access_log_bypass_if到nginx.conf配置文件里
server {
    location / {
        access_log_bypass_if ($status = 404); #不记录404状态的全部日志信息
        access_log_bypass_if ($uri ~* ‘images‘); #不记录uri中全部images文件夹下文件的日志信息
        access_log_bypass_if ($uri = ‘/index.html‘); #不记录uri为/index.html的日志信息
	access_log_bypass_if ($host ~* ‘tonv.cc‘); #不记录host为tonv.cc的全部日志信息
    }
}

重新启动Nginx就可以过滤不显示特定的日志了

Nginx日志过滤 使用ngx_log_if不记录特定日志