Мы используем Spring Boot и включаем org / springframework / boot / logging / logback / base.xml в наш файл logback-spring.xml. Мне нужно переопределить корневой регистратор, чтобы исключить / отключить / переопределить приложения, объявленные во включенном файле, в частности, приложение CONSOLE (ну и удалить приложение FILE).
Я пробовал объявить корневой регистратор в logback-spring.xml с моим собственным приложением CONSOLE, но это только дублирует вывод. Я пробовал объявить пустой корневой регистратор (чтобы установить другой уровень ведения журнала) и новый аппендер с тем же именем, что и включенный ("КОНСОЛЬ"), но это вводит в заблуждение (поскольку корневой регистратор пуст) и все еще не удаляет ПРИЛОЖЕНИЕ ФАЙЛОВ.
Вводящая в заблуждение версия logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration scan="true">
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<!-- bunch of loggers -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
</appender>
<root level="ERROR">
</root>
</configuration>
Я ожидал примерно следующего:
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<appender name="CUSTOM-CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
</appender>
<root level="ERROR">
<appender-ref ref="CUSTOM-CONSOLE"/>
</root>
И тогда включенные дополнения CONSOLE и FILE не используются.
Или, возможно, повторно объявите некоторые фиктивные / неработающие дополнения CONSOLE и FILE, чтобы переопределить включенную конфигурацию.
РЕДАКТИРОВАТЬ: Мой вопрос касается приложений, унаследованных от включенного файла, поэтому предложения в Могу ли я отключить appender в логбэк? действительно не решает проблему.