1) 在nginx日志access log可以记录POST请求的参数值
实现程度:日志中可以显示POST请求所提交的参数值
问题:
- 日志中文显示十六进制(在配置文件中配置中文也无效)
- 没有对json数据进行测试,正文类型为:Content-Type: application/x-www-form-urlencoded; charset=UTF-8
配置说明:
log_format指令用来设置日志的记录格式,语法:
log_format name format {format ...}
其中name表示定义的格式名称,需要保持一致,format表示定义的格式样式。
配置:
1.在nginx.conf 的http{}里面加上$request_body
如:
log_format name ‘$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent $request_body "$http_referer" "$http_user_agent" $http_x_forwarded_for‘;
- 在service添加访问日志的输出(米德环境中已经配置)
access_log 日志路径 name;
- 在server中设置location /{try_files}
其中try——files的语法是:try_files file…uri,,没有默认值,作用域是server location
2)利用nginx+lua实现通用的请求实现输入输出日志的打印,这个方法没有进行测试,但找到了相关的配置链接,根据链接1配置测试时没有成功。
1. https://blog.csdn.net/MICweaver/article/details/66473183
2.安装lua方法https://www.cnblogs.com/YiXiaoZhou/p/6274033.html
3. nginx+lua+mysql实时存日志https://blog.csdn.net/guoyuguang0/article/details/76768924
原文地址:https://www.cnblogs.com/sonder/p/9907545.html