(005)Nginx之日志log_format
Posted 明月之诗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(005)Nginx之日志log_format相关的知识,希望对你有一定的参考价值。
1、日志路径
nginx日志包括error_log和access_log,在/etc/nginx/nginx.conf中有配置。
error_log:主要记录nginx处理http请求的错误状态,以及nginx本身服务运行的错误状态。
access_log:记录nginx每一次http请求的访问状态,主要用于分析每一次访问的请求和客户端的交互行为。
2、配置语法
Nginx的日志格式由log_format定义,语法如下:
Syntax:log_format name [escape=default|json] String...;
Default:log_format combined "...";
Context:http
3、Nginx变量
HTTP请求变量:arg_PARAMETER、http_HEADER(request的)、sent_http_HEADER(response的)
内置变量:Nginx内置的
自定义变量:自己定义
(1)演示一下添加HTTP请求变量:User-Agent
需要把 User-Agent 改为 user_agent 前添加$http_
检查配置语法是否正确
nginx -t -c /etc/nginx/nginx.conf
重新加载配置
nginx -s reload -c /etc/nginx/nginx.conf
多次请求127.0.0.1,验证成功
curl 127.0.0.1
tail -n 200 /var/log/nginx/access.log
(2)内置变量可以去官网查找:http://nginx.org/en/docs/,点击:Logging to syslog
(3)默认内置变量解析
$remote_addr:客户端地址
$remote_user:http客户端请求nginx,认证的用户名,默认没有开启这个认证模块的话不会记录该信息
$time_local:nginx的时间
$request:request请求行
$status:response返回状态
$body_bytes_sent:从服务端响应给客户端body信息的大小
$http_referer:上一级页面的url地址
$http_user_agent:记录客户端用什么来访问的
$http_x_forwarded_for:记录每一级用户从http请求里面携带的http信息
以上是关于(005)Nginx之日志log_format的主要内容,如果未能解决你的问题,请参考以下文章