码迷,mamicode.com
首页 > 其他好文 > 详细

LogBack 日志压缩产生上百G的tmp文件问题 logback同时按照日期和大小分割日志

时间:2018-12-10 14:12:20      阅读:1208      评论:0      收藏:0      [点我收藏+]

标签:color   ssi   日志   log文件   back   1.7   append   end   art   

核心类:TimeBasedRollingPolicy#rollover()方法 
根据源码,找到了两个会清理日志文件的地方。1. 压缩*.zip文件之后,*.tmp会被删除;2. 设置了MaxHistory最大保留期限,是会清理*.zip文件的。

第一种:压缩完之后有一个delete()操作,如果所在用户没有删除的权限的话(这种可能性不大),tmp是不会被清除的 ;还有就是压缩完之后,还未删除tmp文件,应用就死掉了,那么这个tmp是不会被删除的(基本就是这么产生的)
第二种:未设置MaxHistory,默认是不会清理所有的log文件的;假如设置了MaxHistory,它也只是会删除 日期*.zip文件,*.tmp文件是不会被删除的。

解决方案:通过linux脚本定时删除logs/*.tmp 文件

 

<configuration>
  <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>mylog.txt</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
      <!-- rollover daily -->
      <fileNamePattern>mylog-%d{yyyy-MM-dd}.%i.txt</fileNamePattern>
       <!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
       <maxFileSize>100MB</maxFileSize>    
       <maxHistory>60</maxHistory>
       <totalSizeCap>20GB</totalSizeCap>
    </rollingPolicy>
 
    <encoder>
      <pattern>%msg%n</pattern>
    </encoder>
  </appender>
 
 
  <root level="DEBUG">
    <appender-ref ref="ROLLING" />
  </root>
 
</configuration>
<dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-core</artifactId>
          <version>1.1.8</version>
        </dependency>
        <dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-classic</artifactId>
          <version>1.1.8</version>
        </dependency>
        <dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-access</artifactId>
          <version>1.1.7</version>
        </dependency>

 

LogBack 日志压缩产生上百G的tmp文件问题 logback同时按照日期和大小分割日志

标签:color   ssi   日志   log文件   back   1.7   append   end   art   

原文地址:https://www.cnblogs.com/tonggc1668/p/10095598.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!