自定义输出日志的案例
http {
log_format json '{"remote_addr":"$remote_addr", '
'"remote_user":"$remote_user", '
'"request":"$request", '
'"msec":"$msec", '
'"request_time":"$request_time",'
'"query_string":"$query_string",'
'"http_user_agent":"$http_user_agent" }';
}
server {
listen 80;
server_name localhost;
rewrite_log on;
access_log /var/log/nginx/point.log json;
location /point/{
default_type application/json;
add_header Content-Type 'text/html; charset=utf-8';
return 200 '{"code":0}';
}
}
log_format常用变量
变量 | 说明 |
---|
$remote_addr | 客户端IP地址 |
$http_x_forwarded_for | 客户端IP地址 |
$remote_user | 客户端用户名称 |
$request | 请求的URL和HTTP协议 |
$status | 请求状态 |
$body_bytes_sent | 发送给客户端的字节数,不包括响应头的大小 |
$connection | 连接的序列号 |
$connection_requests | 当前通过一个连接获得的请求数量。 |
$msec | 日志写入时间。单位为秒,精度是毫秒。 |
$pipe | 如果请求是通过HTTP流水线(pipelined)发送,pipe值为“p”,否则为“.”。 |
$http_referer | 从哪个页面链接访问过来的,可以根据该参数进行防盗链设置 |
$http_user_agent | 客户端浏览器相关信息 |
$request_length | 请求的长度(包括请求行,请求头和请求正文)。 |
$request_time | 请求处理时间,单位为秒,精度毫秒; 从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。 |
$time_iso8601 | ISO8601标准格式下的本地时间 |
$time_local | 通用日志格式下的本地时间 |
$query_string | 请求url后面的数据 |