我想删除3分钟以上的日志文件,其中我每分钟使用TimeBasedTriggeringPolicy
创建一个新的“ .log”文件。
Storm的 log4j2 文件夹包含用于配置的 cluster.xml 和 worker.xml 文件。对于第一种情况,我尝试每分钟为工作人员伪像创建新的日志文件,并且可以正常工作,但是当我尝试使用 Delete 标记和 ifLastmodified ,文件未删除。您可以在下面看到我的XML文件:
<appenders>
<RollingFile name="A1" fileName="${sys:workers.artifacts}/${sys:storm.id}/${sys:worker.port}/${sys:logfile.name}" filePattern="${sys:workers.artifacts}/${sys:storm.id}/${sys:worker.port}/%d{yyyy-MM-dd-HH-mm}-app${sys:logfile.name}">
<PatternLayout>
<pattern>${pattern}</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1"/>
</Policies>
<DefaultRolloverStrategy>
<Delete basePath="${sys:storm.home}/logs/" maxDepth="10">
<IfFileName glob="*app*.log" />
<IfLastModified age="3m" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</appenders>
Click to see my file system hierarchy and how files are created specially for worker logs here.