Log4j2 DefaultRolloverStrategy无效

时间:2017-02-08 16:11:05

标签: log4j2

我有2天的翻转策略,但这些文件无法删除。你能否知道这个log4j2配置是否适用于翻转策略?

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Properties>
        <Property name="baseDir">/log</Property>
        <Property name="fileName">filelog</Property>
    </Properties>
    <Appenders>
        <RollingFile name="LOG" fileName="${baseDir}/${fileName}.log"
            filePattern="${baseDir}/${fileName}-%d{yyyy-MM-dd}.log" append="true">
            <PatternLayout pattern="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%m%n" />
            <Policies>
                <TimeBasedTriggeringPolicy interval="1"/>
            </Policies>
            <DefaultRolloverStrategy>
                <Delete basePath="${baseDir}" maxDepth="1">
                    <IfFileName glob="${fileName}-%d{yyyy-MM-dd}.log" />
                    <IfLastModified age="2d" />
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="LOG" />
        </Root>
    </Loggers>
</Configuration>

1 个答案:

答案 0 :(得分:1)

IfFileName的行更改为

<IfFileName glob="${fileName}-*.log" />

如果您愿意,也可以使用IfAccumulatedFileCount

<Delete basePath="${baseDir}">
    <IfFileName glob="${fileName}-*.log">
        <IfAccumulatedFileCount exceeds="2"/>
    </IfFileName>
</Delete>

实际上,我认为后者更好。

相关问题