就是当配置了:
<RollingFile name="run" fileName="log/run.log" filePattern="log/run.log.%d{yyyy-MM-dd-HH}">
<Policies>
<TimeBasedTriggeringPolicy modulate="true" interval="1" />
</Policies>
如果每时每刻持续有数据操作,log4j2确实会在整点生成上一个小时的日志文件,
但是如果,从某个小时开始,突然没有数据操作了,那么这个小时的数据就会一直没有被滚动封装,有解决策略么?
例子:假设我有一个接收数据的常驻服务端,10点开始,生成第一个run.log,然后10点到12点每分钟都有数据写入,那么确实会在11点整点的时候生成run.log.2018-01-01-10,会在12点滚动生成run.log.2018-01-01-11,
但是,如果我10:30之后,到1点就没有数据写入了,那么他11点整点个12点就不会滚动生成run.log.2018-01-01-10和run.log.2018-01-01-11,10点到10:30的数据依然位于run.log里面;
现在有个需求,就是即使没有数据,那么到整点也滚动生成一个文件,比如10:30之后就没数据进来了,那么11点就滚动出10点的日志un.log.2018-01-01-10,11:00到12:00没数据进来,那么就滚动出11点的日志run.log.2018-01-01-11,此时这个日志文件为空都可以,有什么解决方案么?通过重写滚动策略可以实现么?