当前位置: > Linux服务器 > nginx >

根据条件分离nginx的access日志的方法

时间:2014-06-19 02:28来源:linux.it.net.cn 作者:IT网
要求实现如下的日志记录:
当访问ck.php?abc时,将日志记录到abc.log中;当访问ck.php?edf时,将日志记录在edf.log中。其中abc与edf为访问ck.php时加的参数。

实现:
使用if语句判断参数是否以abc开头,然后进行日志的分别存储。

修改nginx.conf,添加:


代码如下:

location /ck.php {
#如果作为反向代理,一定要把proxy写上,否则不会反向代理该文件
    if ($args ~ ^abc){
       access_log /usr/local/nginx/logs/abc.log;
    }
    if ($args ~ ^edf){
       access_log /usr/local/nginx/logs/edf.log;
    }
}
 
其中:
$args
This variable is equal to arguments in the line of request;

更多的参数,查看nginx的文档中的NginxHttpCoreModule,里的Variables部分。
http://wiki.nginx.org/NginxHttpCoreModule

大家可以根据自己的需要,结合适当的变量来分离出需要的日志。


 

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容