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

log4j2滚动删除丢日志的问题排查

时间:2020-03-23 20:13:08      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:group   丢失   release   info   日志   size   Once   脚本   col   

    最近排查线上问题,遇到几次线上日志从凌晨0点到全天的某一个随机的时刻日志丢失了,如图所示,打开每天的第一个文件不是从0点开始的日志,莫名其妙的丢失一部分日志。

技术图片

   项目是spring-boot项目,日志的组件是log4j2

version=1.5.12.RELEASE
groupId=org.springframework.boot
artifactId=spring-boot-starter-log4j2


排查过程:
1、服务器的contab删除日志的脚本,后来经排查分析否则。
2、推测分析可能是回滚删除日志的log4j2配置有问题,经过查log4j2的源码及配置和线上日志的现象对比分析。
问题的根源:LOG4J2 默认对压缩文件只保留7个文件数量.
Once this values is reached older archives will be deleted on subsequent rollovers. The default value is 7.
官网:http://logging.apache.org/log4j/2.x/manual/appenders.html
技术图片

 

 解决方案:

 找到原因,接下来的事就好办了,

  1、在RollingFile 节点下的DefaultRolloverStrategy增加max属性,比如:<DefaultRolloverStrategy max=“50”>解决。

  2、把回滚文件的大小增大,比如<SizeBasedTriggeringPolicy size="2GB"/>,在一定程序上也会侧面解决这个问题









 


 

 

log4j2滚动删除丢日志的问题排查

标签:group   丢失   release   info   日志   size   Once   脚本   col   

原文地址:https://www.cnblogs.com/xuzhujack/p/12554409.html

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