java Spring Boot按日期 限制大小分文件记录日志

上文 java Spring Boot 将日志写入文件中记录 中 我们实现另一个将控制台日志写入到 项目本地文件的效果

但是 这里有个问题

比如 我项目是个大体量的企业项目 每天会有一百万用户访问 那我每天的日志都记载同一个文件上 那不跟没记没什么区别吗?

东西怎么找? 而且 在windows系统中 记事本大小大于了4个G以后 是直接打不开的 都不需要40G 你搞个十几个G的都能卡死

我们可以这样写 打开 配置文件 我这里用的 yml格式

我们加入代码

java 复制代码
logging:
  file:
   name: serve.log
  logback:
    rollingpolicy:
      max-file-size: 10MB
      file-name-pattern: server.%d{yyyy-MM-dd}.%i.log

这两句的意思 分别是 设置 每个文件最大 10MB 如果超过了 就换一个文件来记

然后 下面这个 告诉它 我们的日志文件的名字格式是 server. 这里的百分号d 意思是时间 格式我们设置为 年YYYY-月MM-日dd.第几个文件.log

但是 10MB也容量有点大 我们不好测试 我们直接改成 10KB吧

让他快点换下一个文件 正常来讲设10MB是比较合适的

然后 我们启动项目

显然信息还不够多 没有出文件

我这里 多调几次接口 让他多出点日志

然后我们返回来看 可以看到当内容非常大的时候 他就自动换了

文件格式 也是当前 年月日 加第几个文件

直接的说 到了服务器上 就没有这么好的控制台报错给你看了 你就全靠日志排查问题了 所以 日志体现一定要构建完整 这关系你能不能第一时间定位客户的问题

相关推荐
@LetsTGBot搜索引擎机器人3 分钟前
从零打造 Telegram 中文生态:界面汉化 + 中文Bot + @letstgbot 搜索引擎整合实战
开发语言·python·搜索引擎·github·全文检索
洲覆14 分钟前
缓存异常:缓存穿透、缓存击穿、缓存雪崩
开发语言·数据库·mysql·缓存
Java爱好狂.31 分钟前
接上篇:如何在项目中实现ES查询功能?
java·运维·jenkins·es·java面试·后端开发·java程序员
Iloveskr33 分钟前
markdown转为pdf导出
java·pdf
逻极42 分钟前
变量与可变性:Rust中的数据绑定
开发语言·后端·rust
一缕茶香思绪万堵44 分钟前
028.爬虫专用浏览器-抓取#shadowRoot(closed)下
java·后端
Deamon Tree1 小时前
如何保证缓存与数据库更新时候的一致性
java·数据库·缓存
9号达人1 小时前
认证方案的设计与思考
java·后端·面试
大G的笔记本1 小时前
MySQL 中的 行锁(Record Lock) 和 间隙锁(Gap Lock)
java·数据库·mysql
R.lin1 小时前
Java支付对接策略模式详细设计
java·架构·策略模式