SiftingAppender без дискриминатора значений по умолчанию
я используюSiftingAppender
иRollingFileAppender
для разделения папок журналов с ключом дискриминатора.
<appender name="TEST_LOGGER" class="ch.qos.logback.classic.sift.SiftingAppender">
<discriminator>
<key>discKey</key>
<defaultValue>Default</defaultValue>
</discriminator>
<sift>
...
</sift>
</appender>
Но мне просто нужны ключи дискриминатора, которые установлены, и не нужна папка с именемdefaultValue
. есть ли способ просто разделить нужные папки и удалить другие?
1 ответ
После долгих поисков вLogback
документы, я обнаружил, что с помощьюfiltering
метод, можно зарегистрировать требуемые значения и не регистрировать другие значения.
<appender name="TEST_LOGGER" class="ch.qos.logback.classic.sift.SiftingAppender">
<discriminator>
<key>discKey</key>
<defaultValue>Default</defaultValue>
</discriminator>
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator class="ch.qos.logback.classic.boolex.JaninoEventEvaluator">
<expression>
mdc.get("discKey") == null
</expression>
</evaluator>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>DENY</OnMatch>
</filter>
<sift>
...
</sift>
</appender>
Выше код не регистрируйтеDefault
папка.