网站首页 > 博客文章 正文
时光闹钟app开发者,请关注我,后续分享更精彩!
坚持原创,共同进步!
前言
之前文章:Nginx奇技淫巧之:用户行为埋点数据采集实现,介绍了Nginx获取post请求body参数生成日志文件的方法。当业务埋点量信息很大时,所有数据累加到一个日志文件中,会导致单个文件越来越大,后期难于清理和维护。本文将向大家介绍,按日期自动生成日志文件的方法。希望对有需要的小伙伴有所帮助和参考。
Nginx配置
Nginx配置文件调整
http块添加以下配置
# 新增logdate日期变量
map $time_iso8601 $logdate {
'~^(?<ymd>\d{4}-\d{2}-\d{2})' $ymd;
default 'date-not-found';
}
server块添加日志文件变量
生成日志文件的地方添加日期信息,详见如下代码块注释
location /trackLog {
if ($request_method !~* POST) {
return 403;
}
# 日志文件名添加日期变量
access_log /usr/local/nginx/logs/tracklog-$logdate.log tracklog;
proxy_pass http://127.0.0.1/return200/;
}
location /return200 {
default_type application/json;
return 200 '{"code":0,"msg":"success"}';
}
赋权日志文件目录
按日期动态生成日志文件,需确保对应日志目录具有相应权限。以下为演示代码,生产环境请根据具有情况按需赋权。
chmod -R 777 /usr/local/nginx/logs/*
生效Nginx Config
# Nginx sbin目录执行配置生效命令
./nginx -s reload
测试post请求
# 部署Nginx服务器执行测试post请求,body参数可根据业务场景自行定义
curl -H "Content-type:application/json" -X POST -d '{"name":"test"}' http://localhost/tracklog
日志文件查看
切换到日志目录,查看文件名和内容
对应目录下已生成tracklog-{日期}.log文件
具体文件内容
总结
本文介绍了Nginx按日期动态生成日志文件的方法。包括Nginx配置文件设置,目录赋权,测试验证内容。相信看到这里的小伙伴,对具体使用有了大致的了解。希望本文对小伙伴有所帮助,也欢迎留言讨论相关技术问题,一块进步。
猜你喜欢
- 2025-05-21 上传图片到cloudflare r2
- 2025-05-21 wordpress通过代码实现百度主动推送和实时推送
- 2025-05-21 百度实时推送代码解决方案
- 2025-05-21 Elasticsearch的路由routing的应用技巧
- 2025-05-21 技巧:PHP版本怎样隐藏在Linux服务器
- 2025-05-21 Python 进阶-day24: API 开发
- 2025-05-21 kubectl常用删除命令
- 2025-05-21 HTTP 的常见头字段有哪些?说说它们的作用
- 2025-05-21 网络编程神器:让你的网络编程不再踩坑
- 2025-05-21 HTTP/HTTPS协议基础
你 发表评论:
欢迎- 377℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 373℃用AI Agent治理微服务的复杂性问题|QCon
- 364℃初次使用IntelliJ IDEA新建Maven项目
- 357℃Maven技术方案最全手册(mavena)
- 353℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 352℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 351℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 350℃IT全明星|IntelliJ IDEA学习笔记(四、idea中怎么创建maven项目)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)