от
У меня глобальная конфигурация логгера, которую я хочу унаследовать во всех моих проектах:
<?xml version="1.0" encoding="UTF

Проблема: только в производстве, я хочу удалить один из регистраторов, <pre>CONSOLE
appender. Поскольку файлы конфигурации
log4j2.xml
не поддерживают условия, я подумал о программном удалении приложения консоли:
final LoggerContext context = (LoggerContext) LogManager.getContext(false);
final Configuration config = context.getConfiguration();
System.out.println(config.getAppenders());
Проблема: это печатает только
{DefaultConsole

Вопрос: почему я не вижу здесь приложение APP
или
CONSOLE
? И более того, как я могу удалить консольный аппендер тогда? Может быть, можно как-то перехватить загрузку контекста log4j, чтобы я мог пропустить приложение CONSOLE программно? Sidenote: Я регистрируюсь следующим образом, который в производстве должен идти только к приложению
APP
, а не к консоли.
private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
LOGGER.info("test");
             

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
...