使用log4j2 RollingFileAppender限制日志文件的数量

时间:2015-05-26 15:36:17

标签: log4j log4j2 rollingfileappender

我正在尝试使用MaxBackupIndex来限制我维护的日志文件的数量但是无法实现。这是我的log4j2.xml,我希望每秒登录一个不同的日志文件,但只能在两个文件之间轮换,而不是创建更多文件(或删除更旧的文件):

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="OGBackend" packages="">
    <Properties>
        <Property name="log-path">C:/logs/</Property>
    </Properties>
    <Parameters>
        <param name="MaxBackupIndex" value="2"/>
    </Parameters>
    <Appenders>
        <RollingFile name="RollingFile" fileName="${log-path}/myexample.log"
                     filePattern="${log-path}/myexample-%d{yyyy-MM-dd-HH-mm-ss}-%i.log">
            <PatternLayout>
                <pattern>%d{dd/MMM/yyyy HH:mm:ss}- %c{1}: %m%n</pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy/>
            </Policies>
            <DefaultRolloverStrategy max="2"/>

        </RollingFile>
    </Appenders>
    <Loggers>
        <Logger name="root" level="debug" additivity="false">
            <appender-ref ref="RollingFile" level="debug"/>
        </Logger>
        <Root level="debug" additivity="false">
            <AppenderRef ref="RollingFile"/>
        </Root>
    </Loggers>
</Configuration>

任何建议?

1 个答案:

答案 0 :(得分:1)

目前没有正式的支持。最大备份索引(与文件模式中的%i查找一起使用)的作用是每秒防止超过2个文件而不是总共2个文件。

https://issues.apache.org/jira/browse/LOG4J2-524

指向有关同一问题的功能请求的链接。