Я планирую использовать log4j2's burstFilter
в моем приложении для управления пакетной регистрацией.Идея состоит в том, чтобы отключить его до тех пор, пока администратор действительно не захочет его использовать (я планирую дать возможность в графическом интерфейсе приложения получать параметры от пользователя и активировать burstFilter
соответственно).
Я изучил егодокументацию и понял, что это просто изменение конфигурации внутри файла log4j2.xml.Эта конфигурация xml будет так или иначе связана с приложением, и я включу фильтр следующим образом ..
<Console name="console">
<PatternLayout pattern="%-5p %d{dd-MMM-yyyy HH:mm:ss} %x %t %m%n"/>
<filters>
<Burst level="INFO" rate="16" maxBurst="100"/>
</filters>
</Console>
Теперь здесь rate
и maxBurst
поля установлены на некоторые значения, а это не то, чтоЯ ожидаю по умолчанию.Одно из решений, о котором я подумал, - просто не использовать тег <filters>
по умолчанию и явно записывать в log4j2.xml, как только пользователь установит эти параметры в графическом интерфейсе, как показано ниже.
<Burst level="INFO" rate="16" maxBurst="100"/>
ThisПохоже, это самое простое решение, поэтому мне было интересно, есть ли какой-либо атрибут по умолчанию, который я могу переключить, чтобы включить или выключить фильтр.
Ожидание: по умолчанию log4j2.xml:
<filters>
<Burst Activated="False" rate="16" maxBurst="100"/>
</filters>
Если пользователь хочет активировать его:
<filters>
<Burst Activated="True" rate="16" maxBurst="100"/>
</filters>
Любая помощь будет оценена.Спасибо