【笔记】Nginx配置类似Tomcat请求接口链路access_log日志

项目部署在tomcat容器中,请求的接口会被记录在文件名:localhost_access_log.2024-03-22.log的文件中,如果使用Nginx也需要记录请求接口,该如何做呢?步骤如下
步骤1:

打开nginx.conf,在 http 块中添加自定义的 map和log_format,例如:

复制代码
map $time_iso8601 $log_date {
        "~^(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})" $year-$month-$day;
    }

    log_format custom_format '$remote_addr - $remote_user [$time_local] "$request" '
                            '$status $body_bytes_sent "$http_referer" '
                            '"$http_user_agent"';

步骤2:

在location添加请求接口日志写入文件路径下的文件名

复制代码
 access_log /var/log/nginx/localhost_access_log.$log_date.log custom_format;

完整如下:

http {

log_format api_log 'remote_addr - r e m o t e u s e r \[ remote_user \[ remoteuser\[time_local\] "request" $status b o d y b y t e s s e n t " body_bytes_sent " bodybytessent"http_referer" " h t t p u s e r a g e n t " " http_user_agent" " httpuseragent""request_uri"';

复制代码
server {
    listen 80;
    server_name example.com;

    location / {
        access_log /var/log/nginx/api_access.log api_log;
        # 其他配置...
    }
}

# 其他配置...

}
总结:

有时候记录每一次请求的链路过程并落盘还是很有必要,以上仅供参考,亲测有效.

相关推荐
小陈phd18 小时前
多模态大模型学习笔记(三十六)—— 扩散模型与可控生成:从AI涂鸦到精准作画的技术革命
人工智能·笔记·学习
施努卡机器视觉18 小时前
阴极铜机器人剥片:SNK施努卡的双线并行自动化解决方案
运维·机器人·自动化
小冯不疯19 小时前
轻松云数据集成平台:高效系统对接与智能运维
大数据·运维
炜宏资料库19 小时前
智慧能源设备运维管理系统如何建设?
运维·能源
古城小栈19 小时前
Docker 下配置 Pgsql 主从复制详细步骤指南
运维·docker·容器
chao_66666619 小时前
AI coding 代码开发规范
linux·运维·服务器
xiaobangsky19 小时前
Linux SMB/CIFS 网络挂载配置指南
linux·运维·网络
Cyber4K20 小时前
【Nginx专项】高级进阶架构篇-Location、Rewrite及HTTPS
服务器·nginx·架构·https
雾岛听蓝20 小时前
Qt Widget控件属性详解
开发语言·经验分享·笔记·qt
博风20 小时前
nginx:前后端分离常用配置
nginx