log4j2: расположение для установки системного свойства Log4jContextSelector для асинхронного ведения журнала
Я пытаюсь настроить асинхронное ведение журнала (по соображениям производительности) в веб-методах REST, которые в настоящее время выполняются на сервере профиля свободы.
Для этого я настроил следующее свойство:
System.setProperty("Log4jContextSelector", "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");
Моя проблема в том, что независимо от того, где я это делаю, иногда это работает, и регистрация очень быстрая, а иногда - нет.
Я пробовал (а) в конструкторе для класса, содержащего все веб-методы REST (б) в методе фильтра doFilter, который вызывается до метода REST (в) в методе фильтра init (d) в самом методе REST
Ни одно из этих мест не работает согласованно.
Может ли кто-нибудь предложить объяснение такого поведения и, если возможно, предложенный способ решения проблемы.
РЕДАКТИРОВАТЬ: Похоже, что log4j инициализируется до вызова setProperty. Поэтому мне нужно настроить свойство через профиль свободы.