总结
sentinel默认保留文件数是6,因为生成文件的时候文件名包含了pid,所以如果系统重启生成了,那么会重新生成6个文件,之前的也会保留,以下图是由于我们的服务重启发布所以pid进行了变更,所以之前的pid的文件被保留了下来
具体清理的策略是在创建文件的时候,检查当前文件的数量是否大于保留文件数,如果是则进行删除。
源码分析
文件保留文件数设置
初始化MetricWriter类的时候,调用了SentinelConfig.totalMetricFileCount()方法获取了文件数
获取文件数
具体初始化在SentinelConfig文件中
设置文件数
可以看到最终值保存在了totalFileCount属性中
删除大于指定数量的日志文件
写入指标的文件的时候调用调用了 closeAndNewFile方法,而closeAndNewFile方法有调用了removeMoreFiles方法