1.定义日志为json格式,参数可以通过 $arg_参数名获取
log_format tongji '{"createTime":"$time_iso8601",'
'"source":"$server_addr",'
'"client":"$remote_addr",'
'"size":$body_bytes_sent,'
'"responsetime":"$request_time",'
'"upstreamtime":"$upstream_response_time",'
'"upstreamaddr":"$upstream_addr",'
'"request_method": "$request_method",'
'"domain":"$host",'
'"url":"$uri",'
'"args":"$args",'
'"id":"$arg_id",'
'"type":"$arg_type",'
'"http_user_agent": "$http_user_agent",'
'"status":$status,'
'"x_forwarded_for":"$http_x_forwarded_for"}’;
2.设置图片不打印日志
注意:因为每个请求会默认访问一个ico文件,导致每个请求都是多个,所以做好设置一下
server {
listen 80;
server_name tongji.haoyunbang.cn;
access_log logs/tongji.haoyunbang.access.log tongji;
location / {
content_by_lua '
ngx.header.content_type = "text/plain";
ngx.say("1");
';
}
location ~ .*\.(js|css|ico|gif|jpg|jpeg|png|bmp|swf)$ {
expires 7d;
access_log off;
proxy_pass
http://wwwserv; #如果图片和网站放在一起,必须加这个转向
}
}