logbackFixedWindowRollingPolicy固定窗口算法重命名文件滚动策略
发布日期:2025-01-04 12:02 点击次数:100
序
本文主要研究一下logback的FixedWindowRollingPolicy
RollingPolicy
ch/qos/logback/core/rolling/RollingPolicy.java
RollingPolicy接口定义了rollover、getActiveFileName、getCompressionMode、setParent方法
RollingPolicyBase
ch/qos/logback/core/rolling/RollingPolicyBase.java
RollingPolicyBase定义了compressionMode、fileNamePattern、fileNamePatternStr、parent、zipEntryFileNamePattern、started;determineCompressionMode方法会根据fileNamePatternStr的后缀来判断,默认支持gz、zip
FixedWindowRollingPolicy
ch/qos/logback/core/rolling/FixedWindowRollingPolicy.java
FixedWindowRollingPolicy继承了RollingPolicyBase,他定义了minIndex、maxIndex、compressor属性
start
start方法先根据fileNamePattern来创建FileNamePattern,然后判断压缩模式,然后校验minIndex及maxIndex,要求相差不能超过MAX_WINDOW_SIZE(默认值为20),之后判断如果是zip模式的则创建zipEntryFileNamePattern,最后根据压缩模式创建compressor
rollover
rollover方法从maxIndex-1开始到minIndex,把这些文件名的序号加1,之后根据压缩模式判断,如果不压缩则把当前文件名重名为minIndex,若是gz压缩则把当前文件压缩然后命名为minIndex,若是zip压缩则把当前文件压缩然后命名为minIndex加上日期
小结
logback的FixedWindowRollingPolicy继承了RollingPolicyBase,实现了RollingPolicy接口,该接口定义了rollover、getActiveFileName、getCompressionMode、setParent方法,其中FixedWindowRollingPolicy的rollover的实现是根据minIndex及maxIndex来的,要求maxIndex及minIndex相差不能超过20,rollover的时候从maxIndex-1开始到minIndex,把这些文件名的序号加1,然后当前文件重命名为minIndex,其中还配合压缩模式进行压缩处理。
以上就是logback FixedWindowRollingPolicy固定窗口算法重命名文件滚动策略的详细内容,更多关于logback FixedWindowRollingPolicy的资料请关注脚本之家其它相关文章!