可以的,Nginx 的日志格式是可以自定义的。
log_format:定义日志格式access_log:指定日志文件路径和使用的格式在 http 块中定义格式:
http {
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
server {
listen 80;
server_name example.com;
access_log /var/log/nginx/access.log main;
}
}
$remote_addr:客户端 IP$time_local:本地时间$request:请求行$status:HTTP 状态码$body_bytes_sent:发送字节数$http_user_agent:UA$http_x_forwarded_for:代理 IP$request_time:请求处理时间$upstream_response_time:后端响应时间log_format json escape=json '{'
'"time":"$time_local",'
'"ip":"$remote_addr",'
'"method":"$request_method",'
'"uri":"$request_uri",'
'"status":$status,'
'"size":$body_bytes_sent,'
'"ua":"$http_user_agent"'
'}';
log_format 必须放在 http 块中nginx -t && nginx -s reloadserver / location 可使用不同格式如果你有具体想记录的字段或日志系统(如 ELK、Loki),我可以帮你定制格式。