在nginx日志access log可以记录POST请求的参数值

1)      在nginx日志access log可以记录POST请求的参数值

实现程度:日志中可以显示POST请求所提交的参数值

问题:

  1. 日志中文显示十六进制(在配置文件中配置中文也无效)
  2. 没有对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‘;

  1. 在service添加访问日志的输出(米德环境中已经配置)

access_log 日志路径 name;

  1. 在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

时间: 2024-11-05 22:05:48

在nginx日志access log可以记录POST请求的参数值的相关文章

在nginx日志的access log中记录post请求的参数值

背景:有时程序偶出现参数少了或没有提交到下一个链接Url里后出现问题,如何查呢,最好的办法是在nginx上的加post参数,以定位到问题才有可能对某个UIR的代码出现的问题进行排查. og_format access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent $request_body "$http_referer" "$http_user_

将nginx日志中的蜘蛛记录删除掉

#!/bin/sh if [ -r $1 ]; then     #Delete Baiduspider     baidu=$(grep -c 'Baiduspider' $1)     if [ $baidu -gt 0 ]; then         sed -i '/Baiduspider/d' $1         echo "match Baiduspider $baidu line."     else         echo "Baiduspider not

老男孩教育每日一题-2017年4月26日-通过访问日志access.log统计IP和每个地址访问的次数

通过访问日志access.log统计IP和每个地址访问的次数 101.226.61.184 - - [22/Nov/2015:11:02:00 +0800] "GET /mobile/sea-modules/gallery/zepto/1.1.3/zepto.js HTTP/1.1" 200 24662 "http://m.oldboyedu.com/mobile/theme/oldboyedu/home/index.html" "Mozilla/5.0 

分析nginx中access.log日志统计状态为500

发现系统存在的问题 我们可以使用下面的命令行,统计服务器返回的状态码,发现系统可能存在的问题. awk '{print $9}' access.log | sort | uniq -c | sort 正常情况下,状态码 200 或 30x 应该是出现次数最多的.40x 一般表示客户端访问问题.50x 一般表示服务器端问题. 下面是一些常见的状态码: 200 - 请求已成功,请求所希望的响应头或数据体将随此响应返回. 206 - 服务器已经成功处理了部分 GET 请求 301 - 被请求的资源已永

Nginx切割access.log

Nginx 默认Log记录在$Nginx_home/logs/access.log里面,每次用户的请求都会追加到access.log后面,久而久之,access.log就会变得巨大,占用磁盘空间.所以就有了需求用来切割Nginx日志.使用shell脚本如下: #!/bin/bash # This script run at 00:00 # The Nginx logs path logs_path="/usr/local/nginx/logs/" mkdir -p ${logs_pat

apache服务器访问日志access.log设置

一.访问日志信息 当浏览器请求服务器时,如果在服务器上设置了访问日志,就会记录下用户的访问记录. 例如我访问本地apache所产生的一条默认的日志: 127.0.0.1 - - [03/Feb/2015:23:14:24 +0800] "GET / HTTP/1.1" 200 2 分为7个部分 (1)第一项信息是远程主机的地址,即它表明访问网站的究竟是谁.(可以要求apache查出所有的主机名字,并在日志文件中用主机名字来替代IP地址,但这种做法会极大的影响服务器记录日志的速度,从而降

访问日志access.log统计ip和每个地址访问的次数

access.log: 192.168.1.247 - - [02/[ul/2015:23:44:59 [0800] "GET /[HTTP/1.1 200 19" 192.168.1.246 - - [02/[ul/2015:23:44:59 [0800] "GET /[HTTP/1.1 200 19" 192.168.1.245 - - [02/[ul/2015:23:44:59 [0800] "GET /[HTTP/1.1 200 19"

限制Apache日志access.log文件大小

可以在apache的httpd.conf配置文件中配置apache自带的程序rotatelogs的功能. rotatelogs是一个配合Apache管道日志功能使用的简单程序, 参考资料:http://httpd.apache.org/docs/current/mod/mod_log_config.html 1 每天生成新日志 CustomLog "|/usr/sbin/rotatelogs  /etc/httpd/logs/access_log_%Y-%m-%d  86400 480"

Nginx 指定不产生日志类型(不记录图片日志)

在主配置文件中已经定义了配置文件的格式 [[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf  # nginx 中的配置修改 日志命名格式 log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]' '$host "$request_uri" $status' '"$http_referer" "