- $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;"
}