一、Nginx配置文件(nginx.conf)设置打印post请求参数:1.在http模块的log_format中增加 “dm”:$request_body 防止中文乱码,增加  escape=json

log_format main escape=json ‘{ “@timestamp”: “$time_iso8601″, ‘

‘”remote_addr”: “$remote_addr”,’

‘”costime”: “$request_time”,’

‘”realtime”: “$upstream_response_time”,’

‘”status”: $status,’

‘”x_forwarded”: “$http_x_forwarded_for”,’

‘”referer”: “$http_referer”,’

‘”request”: “$request”,’

‘”upstr_addr”: “$upstream_addr”,’

‘”bytes”:$body_bytes_sent,’

‘”dm”:$request_body,’

‘”agent”: “$http_user_agent” }’;

access_log /var/log/nginx/access.log main;

2.设置前post请求,nginx打印的结果,很显然没有将参数打印出来

3.设置后post请求,nginx打印参数,发现参数虽然打印出来但是有乱码情况

4.解决乱码

(1)需要在log_format main后加 escape=json

(2)nginx的版本需要是1.15.1及以上

(3)满足以上最终打印出的结果

二、看nginx日志必要性

1、更加全面:它可以记录访问者的ip浏览器以及请求参数等信息比java的请求日志更加全面;

2、请求大时,java程序处理不过来,这时java日志没有多余访问请求,而nginx中有,有利于排查问题,优化系统性能。

【总结】

1、通过日志可以快速定位问题;

2、排查问题时考虑要全面,从多过维度去思考。

———————

参考设置:https://blog.csdn.net/zhanghan18333611647/article/details/81274967

更多推荐