log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'
'$upstream_addr $upstream_response_time $request_time ';
access_log logs/access.log main;
常见的日志变量参考
$remote_addr, $http_x_forwarded_for | 记录客户端IP地址 |
$remote_user | 记录客户端用户名称 |
$request | 记录请求的URL和HTTP协议(GET,POST,DEL,等) |
$status | 记录请求状态 |
$body_bytes_sent | 发送给客户端的字节数,不包括响应头的大小; 该变量与Apache模块mod_log_config里的“%B”参数兼容。 |
$bytes_sent | 发送给客户端的总字节数。 |
$connection | 连接的序列号。 |
$connection_requests | 当前通过一个连接获得的请求数量。 |
$upstream_addr | 映射后的地址 |
$upstream_connect_time | 跟后端server建立连接的时间,如果是到后端使用了加密的协议,该时间将包括握手的时间。 |
$upstream_header_time | 接收后端server响应头的时间。 |
$upstream_response_time | 从Nginx向后端建立连接开始到接受完数据然后关闭连接为止的时间。 |
$msec | 日志写入时间。单位为秒,精度是毫秒。 |
$pipe | 如果请求是通过HTTP流水线(pipelined)发送,pipe值为“p”,否则为“.”。 |
$http_referer | 记录从哪个页面链接访问过来的 |
$http_user_agent | 记录客户端浏览器相关信息 |
$request_length | 请求的长度(包括请求行,请求头和请求正文)。 |
$request_time | 请求处理时间,单位为秒,精度毫秒; 从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。 |
$time_iso8601 | ISO8601标准格式下的本地时间。 |
$time_local | 通用日志格式下的本地时间。 |