如何获得" max" Java中log4j2中DefaultRolloverStrategy的属性值

时间:2016-01-27 09:15:48

标签: java logging log4j2

我在log4j2中有一个问题。在下面的appender定义中,使用默认翻转策略,如下所示:

 <DefaultRolloverStrategy max="5" />

我需要在java中访问max的值来进行一些自定义。请帮助我了解如何检索此值。我可以从记录器中获取appender,但我不知道如何在此appender中定义max DefaultRolloverStrategy的值。

<RollingFile name="TEST_FILE" fileName="${sys:LOGS}/test.log" filePattern="${sys:LOGS}/test.log.%i" append="true">
        <PatternLayout>
            <pattern>%d %-5p [%c{1}] [CustomData: %data] [%t] %m%n</pattern>
        </PatternLayout>
        <Policies>
            <SizeBasedTriggeringPolicy size="500 KB" />
        </Policies>
        <DefaultRolloverStrategy max="5" />
        <Filters>
            <ThresholdFilter level="DEBUG"/>
                <ThresholdFilter level="OFF" onMatch="DENY" onMismatch="NEUTRAL"/>              
        </Filters>          

请帮帮我。感谢。

1 个答案:

答案 0 :(得分:1)

我已通过使用以下代码段来实现此目的。

int maxBackupIndex =((DefaultRolloverStrategy)((RollingFileAppender)app)。getManager()。getRolloverStrategy())。getMaxIndex();