Можно ли вложить одно приложение для просеивания в другое устройство для просеивания, когда оба они используют разные дискриминаторы?
У меня есть приложение весенней загрузки с различным количеством терминалов. У меня есть требование, которое говорит, что для каждого терминала должен быть каталог, в котором хранятся файлы журнала. Эти отдельные файлы журнала по одному для каждого потока в терминале. Ниже моя конфигурация logback.xml:
<configuration>
<appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
<discriminator class="com.mycompany.poc.inther.lc.workflow.logging.ThreadNameBasedDiscriminator"/>
<discriminator>
<key>terminalName</key>
<defaultValue>logs</defaultValue>
</discriminator>
<sift>
<appender class="ch.qos.logback.core.FileAppender">
<file>C:/Users/wkoonings/AppData/Roaming/console/${terminalName}/app-${threadName}.log</file>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d{HH:mm:ss:SSS} | %-5level | %logger{20} | %msg%n%rEx</pattern>
</layout>
</appender>
</sift>
</appender>
<root level="INFO">
<appender-ref ref="SIFT"/>
</root>
</configuration>
Я получаю разные каталоги, но файлы журналов внутри каталогов имеют все имена:
приложение-threadName_IS_UNDEFINED
Когда я оставляю дискриминатор MDC и использую статический каталог, logback делает файлы журнала корректными.