Подтвердить что ты не робот

Как установить системное свойство для адаптера log4j2 JUL в среде OSGi

Я хочу использовать адаптер log4j2 JUL в среде OSGi. Поэтому я напрямую использовал пакеты log4j2 OSGi и задал следующее системное свойство в одном из моих собственных пакетов OSGi, как упоминалось здесь:

System.setProperty("java.util.logging.manager", "org.apache.logging.log4j.jul.LogManager");

Похоже, что это системное свойство не устанавливается, потому что журналы, поступающие из платформы Java util, не будут добавляться.

Ядро OSGi, которое я использую, Eclipse Equinox.

Где я могу установить это свойство системы для работы с OSGi?

EDIT:

Насколько я понял здесь, проблема заключается в том, что при запуске JVM запускается требуемое свойство, т.е. java.util.logging.manager устанавливается в значение по умолчанию, поэтому установка этого внутри среды OSGi неэффективна, даже мы не можем установить это свойство с помощью опции -D, поскольку пакеты log4j2 OSGi не подвергаются пути к классу, поэтому возникает исключение класса, которое не было найдено.

Любая помощь высоко ценится по этому вопросу.

4b9b3361

Ответ 1

Как правило, если настройка свойства через API System.setProperty не работает нормально (возможно, потому, что свойство уже было прочитано, прежде чем вы сможете его перезаписать), вы должны попробовать установить его из самого запуска JVM, введя "- D" в командной строке:

-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager