nginx 将日志文件换成json串格式
在conf/nginx.conf文件中,可以设置日志的格式
#log_format main '$remote_addr - $remote_user [$time_local] "$request"
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#以上是默认的日志格式
#以下是按json串生成日志
log_format main '{"@timestamp":"$time_iso8601",'
'"@version":"1",'
'"server_addr":"$server_addr",'
'"remote_addr":"$remote_addr",'
'"host":"$host",'
'"uri":"$uri",'
'"body_bytes_sent":$body_bytes_sent,'
'"bytes_sent":$body_bytes_sent,'
'"upstream_response_time":$upstream_response_time,'
'"request":"$request",'
'"request_length":$request_length,'
'"request_time":$request_time,'
'"status":"$status",'
'"http_referer":"$http_referer",'
'"http_x_forwarded_for":"$http_x_forwarded_for",'
'"http_user_agent":"$http_user_agent"'
'}';
默认情况下不管配置有几个代理,Nginx的日志都会记录到 logs/access.log文件中,如果想按不同的代理生成不同的文件名,则可以这样配置:
在server块中加入access_loglogs/xxx.log main; (XXX自取名字)
每个server加入不同的日志文件名,即可生成不同的日志文件。
该文章对你有帮助吗,求分享转发: 分享到QQ空间 分享给QQ好友