Можно ли вложить одно приложение для просеивания в другое устройство для просеивания, когда оба они используют разные дискриминаторы?

У меня есть приложение весенней загрузки с различным количеством терминалов. У меня есть требование, которое говорит, что для каждого терминала должен быть каталог, в котором хранятся файлы журнала. Эти отдельные файлы журнала по одному для каждого потока в терминале. Ниже моя конфигурация 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 делает файлы журнала корректными.

0 ответов

Другие вопросы по тегам