有关nginx日志格式的设计分享

发布时间:2020-07-16编辑:脚本学堂
本文介绍下,在nginx服务器配置日志格式的方法,有需要的朋友作个参考吧。

要在nginx的日志中打印一些特殊信息,因此要自定义一些日志。

配置节内容参考如下:
 

复制代码 代码示例:

#设置user_id的默认值
set $user_id "0";
#设置user_kind的默认值
set $user_kind "-";
#设置uuid的默认值
set $uuid "_";

if ( $http_cookie ~* "user_id=([0-9]*)" ){
     set $user_id $1;
     }

if ( $http_cookie ~* "user_kind=([0-9]*)" ){
     set $user_kind $1;
     }

if ( $http_cookie ~* "_uuid=([A-Za-z0-9 ]*)" ){
      set $uuid $1;
    }

Nginx的Location可以有以下几个匹配:
 

1. =   严格匹配这个查询。如果找到,停止搜索。
2. ^~ 匹配路径的前缀,如果找到,停止搜索。
3. ~   为区分大小写的正则匹配  
4. ~* 为不区分大小写匹配
5.!~和!~*分别为区分大小写不匹配及不区分大小写不匹配

文件及目录匹配
 

* -f和!-f用来判断是否存在文件
* -d和!-d用来判断是否存在目录
* -e和!-e用来判断是否存在文件或目录
* -x和!-x用来判断文件是否可执行

一些可用的全局变量
 

$args
$content_length
$content_type
$document_root
$document_uri
$host
$http_user_agent
$http_cookie
$limit_rate
$request_body_file
$request_method
$remote_addr
$remote_port
$remote_user
$request_filename
$request_uri
$query_string
$scheme
$server_protocol
$server_addr
$server_name
$server_port
$uri

rewrite后面的flag可以是:
 

last
break
redirect
permanent
复制代码 代码示例:
proxy_pass http://localhost:80;
proxy_set_header Host $host;

这里可以自动改变转发以后的域名信息,根据实际情况调整吧。
 

您可能感兴趣的文章:
nginx 日志分析的实例学习
Nginx日志模块分析详解
Nginx关闭日志的方法
Nginx日志分析 Nginx日志切割与Awstats配置
nginx日志配置、Nginx日志分割
nginx日志统计访问时间的例子
nginx日志配置文件的格式说明
一个分割ngnix网站日志的Shell脚本
nginx日志报大量400错误的解决方法
nginx关闭favicon.ico日志记录的方法
nginx与apache日志格式的区别
nginx日志中记录cookie的实现方法
修改nginx访问日志的时间格式的方法
Nginx日志中过滤关键字的写法
nginx 日志分析实例