4-异常-log4j配置日志打印滚动覆盖出现日志丢失问题(附源码分析)
更多内容欢迎关注我(持续更新中,欢迎Star✨)
Github:CodeZeng1998/Java-Developer-Work-Note
技术公众号:CodeZeng1998(纯纯技术文)
生活公众号:好锅(Life is more than code)
CSDN: CodeZeng1998
其他平台:CodeZeng1998、好锅
问题描述:服务经常性的出现某些时刻数据丢失问题。
问题原因:日志配置了同一天日志文件的数量最大值,日志打印的滚动打印配置。所以当日志比较多的时候,超过这个最大数量的日志会滚动覆盖出现日志丢失问题。
解决方案:根据服务具体的日志需求,设置 DefaultRolloverStrategy 标签的 max 属性的值,找出一个比较适合的值。
log4j配置如下:
- 重点查看 Appenders 里面的 DefaultRolloverStrategy 标签的属性;
- DefaultRolloverStrategy 的 max 是配置滚动文件的数量,默认的最大值为 7;
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Properties>
<Property name="baseDir">../logs</Property>
<Property name="appCode">appCode</Property>
<Property name="PID">????</Property>
<Property name="LOG_EXCEPTION_CONVERSION_WORD">%xwEx</Property>
<Property name="LOG_LEVEL_PATTERN">%5p</Property>
<Property name="CONSOLE_LOG_PATTERN">%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%l}{cyan} %clr{:}{faint}%m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}
</Property>
<Property name="FILE_LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}
</Property>
</Properties>
<Appenders

最低0.47元/天 解锁文章
2230

被折叠的 条评论
为什么被折叠?



