Логбэк используется, потому что нам нужны некоторые приложения, которые не предоставляются log4j.
Требование: Для ошибки уровня журнала мы хотим использовать настраиваемый шаблон, который будет добавлять информацию на основе трассировки стека.
Для всех остальных уровней журнала следует использовать простой шаблон.
Весь вывод журнала должен быть в одном файле.
Ниже пробуются вещи: Создал два приложения, одно для уровня журнала ошибок, а другое для другого уровня журнала. Когда один и тот же целевой файл используется для обоих приложений, журнал ошибок не записывается в файл. Когда разные файлы назначения используются для обоих приложений, создаются два файла: один с уровнем журнала ошибок, а другой со всеми остальными уровнями журнала.
С log4j2 было найдено несколько указателей, но с логбэком пока не удалось найти решение.
Может кто-нибудь предложить какой-нибудь подход




В конфигурации приложения установите prudent на true. Это позволит нескольким добавителям писать в один и тот же файл.
Взрывной ответ от Прасант Наир. В мануале логбэка https://logback.qos.ch/manual/appenders.html вы можете найти
In
prudentmode, FileAppender will safely write to the specified file, even in the presence of other FileAppender instances running in different JVMs, potentially running on different hosts. The default value for prudent mode is false.
Вот пример конфигурации:
<configuration>
<appender name = "FILE" class = "ch.qos.logback.core.rolling.RollingFileAppender">
<!-- Support multiple-JVM writing to the same log file -->
<prudent>true</prudent>
<rollingPolicy class = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
<totalSizeCap>3GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<root level = "DEBUG">
<appender-ref ref = "FILE" />
</root>
</configuration>
Это решит мою проблему, но я все же не хочу использовать это решение, потому что оно накладывает расходы на производительность.