nginx日志记录请求包

使用log_format指令来更改日志格式,该指令只能放在http{}段

log_format 日志名 '日志内容';

  • $request_body是nginx的内置变量,可以记录post的数据
  • $time_local 格式化的时间
  • $request 请求地址
  • $status 响应码
  • $body_bytes_sent 传送页面的字节数
  • $http_referer 来源地址
  • $http_user_agent 客户端UA
  • $document_root 当前文件的目录绝对地址,比如:/var/www/html
  • $fastcgi_script_name 当前url的绝对地址,比如:/info.php
  • $request_filename 当前请求文件的绝对物理地址,基于root和alias指令,比如:/var/www/html/info.php
  • $http_cookie cookie信息,这个也很重要,如果在cookie中带上了用户的标识,比较方便调试
# 在nginx http{} 里面写下以下内容
 log_format request_log escape=json '{"DATE":"$time_local","URL":"$request","STATUS":"$status","REFERER":"$http_referer","AGENT":"$http_user_agent","BODY":"$request_body","COOKIE":"$http_cookie"}';
# 在server中使用
access_log  /www/wwwlogs/xxx.com.log request_log;



# 日志中将会记录以下格式的内容
{
	"DATE": "10/May/2023:17:06:21 +0800",
	"URL": "POST /index.php?i=3 HTTP/1.1",
	"STATUS": "200",
	"REFERER": "https://xxxx.com",
	"AGENT": "Mozilla/5.0 (Linux; Android 10; ELE-AL00 Build/HUAWEIELE-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/107.0.5304.141 Mobile Safari/537.36 XWEB/5061 MMWEBSDK/20230405 MMWEBID/329 MicroMessenger/8.0.35.2360(0x28002353) WeChat/arm64 Weixin NetType/4G Language/zh_CN ABI/arm64",
	"BODY": "item_key=M1669726452929&lng=115.67852&lat=37.738472&source=1",
	"COOKIE": "PHPSESSID=5cb72d15245eba8exxxxxxxxx;"
}
posted @   阿怪11  阅读(676)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示