【问题标题】:How to get "max" attribute value of DefaultRolloverStrategy in log4j2 in Javajava - 如何在Java中的log4j2中获取DefaultRolloverStrategy的“最大”属性值
【发布时间】:2016-01-27 09:15:48
【问题描述】:

我对 log4j2 有一个担忧。在下面的 appender 定义中,采用了默认的翻转策略,如下所示:

 <DefaultRolloverStrategy max="5" />

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

<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>          

请帮助我。谢谢。

【问题讨论】:

标签: java logging log4j2


【解决方案1】:

我通过使用下面的代码 sn-p 实现了这一点。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 1970-01-01
    • 2022-10-24
    • 2020-04-30
    相关资源
    最近更新 更多