首页 >
web >
nginx
nginx设置自定义变量打印到日志
时间:2017-01-12 15:05:49 点击: 来源: 作者:
说明:文件为nginx配置文件nginx.conf 设置后全局生效,请提前在程序中定义好相关变量名,nginx开启access.log写日志功能(默认开启)。 1.开启下划线支持 (默认无法识别变量中的下划线): vi /usr/local/nginx/conf/ngin ...
说明:文件为nginx配置文件nginx.conf 设置后全局生效,请提前在程序中定义好相关变量名,nginx开启access.log写日志功能(默认开启)。
1.开启下划线支持 (默认无法识别变量中的下划线):
vi /usr/local/nginx/conf/nginx.conf
http{}内添加如下内容:
underscores_in_headers on;
2.在http{}标签内添加如下信息(默认注释),其中最后一行为自定义内容:
vi /usr/local/nginx/conf/nginx.conf
任意处添加如下内容:
log_format main ' cdn_ip $remote_addr $remote_user [$time_local] "$request" "$http_host" $request_time '
' $status $body_bytes_sent $ssl_protocol "$http_referer" '
' "$http_user_agent" user_ip "$http_x_forwarded_for" '
' to "$upstream_addr" status $upstream_status time $upstream_response_time '
' mobile-client "$http_op_type" api-version "$http_api_version" app-version "$http_app_version" ' ;
如下图:
以上代码最后一行:
' mobile-client "$http_op_type" api-version "$http_api_version" app-version "$http_app_version" ' ;
其中:
' ' 内数据为要打印到日志的内容
mobile-client api-version app-version 3个名字以及前面的to ,user_ip ,cdn_ip等是为了区分名称任意起的名字,也可忽略不写
$http_op_type $http_api_version $http_app_version 为定义的变量内容,分别对应程序中的 op-type api-version app-version ,需要注意的是自定义的内容必须要$http_开头,内容中的"-"线要修改成下划线"_" ,不然会出现无法打印日志情况;变量前后双引号可写可不写,内容比较多时为了容易审查日志建议加上。
3.查看日志:
”您可通过以下微信二维码,赞赏作者“