前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >logback 里面设置 自动删除3天之前的日志

logback 里面设置 自动删除3天之前的日志

作者头像
一写代码就开心
发布2023-08-09 15:03:31
1.4K0
发布2023-08-09 15:03:31
举报
文章被收录于专栏:java和python

1 实现

代码语言:javascript
复制
要实现达到一定大小后将日志文件压缩,并删除三天前的日志数据,可以结合使用 SizeAndTimeBasedRollingPolicy 滚动策略和 DeleteOlderThan 选项来配置。

下面是一个示例配置,实现日志文件达到一定大小后进行滚动和压缩,并保留最近三天的日志数据:

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  <file>${log.path}.log</file>
  <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
    <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.log</fileNamePattern>
    <maxFileSize>10MB</maxFileSize>
    <maxHistory>3</maxHistory>
    <totalSizeCap>100MB</totalSizeCap>
    <cleanHistoryOnStart>true</cleanHistoryOnStart>
    <rollingOnStartup>true</rollingOnStartup>
    <deleteOlderThan>3d</deleteOlderThan>
    <compressionMode>gzip</compressionMode>
  </rollingPolicy>
  <encoder>
    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
  </encoder>
</appender>
在上述配置中,我们使用了 SizeAndTimeBasedRollingPolicy 滚动策略,并设置了以下属性:

<maxFileSize>: 设置单个日志文件的最大大小,当文件大小达到该值时,会触发滚动和压缩操作。

<maxHistory>: 设置保留的历史日志文件的最大数量,这里设置为3,保留最近三天的日志。

<totalSizeCap>: 设置日志文件总大小的上限,当总大小达到该值时,会触发删除较早日志的操作。

<cleanHistoryOnStart>: 设置为 true,表示在应用启动时清理历史日志文件。

<rollingOnStartup>: 设置为 true,表示在应用启动时进行滚动操作。

<deleteOlderThan>: 设置删除比指定时间早的日志文件,这里设置为 3d,表示删除三天前的日志。

<compressionMode>: 设置压缩模式,这里使用 gzip 进行压缩。

需要根据你的需求调整 <maxFileSize>、<totalSizeCap> 和 <deleteOlderThan> 的值,以适应你的场景和日志大小。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档