如何使用TimeBasedTriggeringPolicy从Storm中删除较旧的日志文件?

时间:2019-09-06 08:02:47

标签: xml logging log4j log4j2 apache-storm

我想删除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.

0 个答案:

没有答案