log4j2: расположение для установки системного свойства Log4jContextSelector для асинхронного ведения журнала

Я пытаюсь настроить асинхронное ведение журнала (по соображениям производительности) в веб-методах REST, которые в настоящее время выполняются на сервере профиля свободы.

Для этого я настроил следующее свойство:

System.setProperty("Log4jContextSelector", "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");

Моя проблема в том, что независимо от того, где я это делаю, иногда это работает, и регистрация очень быстрая, а иногда - нет.

Я пробовал (а) в конструкторе для класса, содержащего все веб-методы REST (б) в методе фильтра doFilter, который вызывается до метода REST (в) в методе фильтра init (d) в самом методе REST

Ни одно из этих мест не работает согласованно.

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

РЕДАКТИРОВАТЬ: Похоже, что log4j инициализируется до вызова setProperty. Поэтому мне нужно настроить свойство через профиль свободы.

Ответы на вопрос(4)

Ваш ответ на вопрос