Динамически изменяющийся уровень журнала в log4j версии 1 и мост к версии 2 - PullRequest
0 голосов
/ 27 сентября 2018

В настоящее время я работаю над приложением, которое хочет динамически изменять уровень журнала следующего Java-приложения (запущенного на локальном хосте).Это внешнее приложение использует log4j версии 1.2.16.Я хочу использовать jmx, найти все «LoggerConfigAdminMBean» и изменить уровень.

В спецификации (посещение https://logging.apache.org/log4j/2.0/manual/jmx.html) упоминается, что это возможно с log4j 2.

, потому что я не хочу делать много изменений во внешнем приложении, поэтому я толькоизменен log4j1.2.16.jar на log4j1.2bridge.jar (посетите https://logging.apache.org/log4j/2.x/log4j-1.2-api/index.html). Но результатом этого изменения является пустой список LoggerConfigAdminMBean.

Полностью ли активирована функция MBeans Jmx с использованием моста log4j 1.2jar и есть ли какой-нибудь способ получить полный список LoggerConfigAdminMBean или это возможно только путем перехода с log4j1 на версию log4j2?

Большое спасибо за ответы.

1 Ответ

0 голосов
/ 02 октября 2018

Вы должны использовать эти 2 зависимости:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.11.1</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-1.2-api</artifactId>
    <version>2.11.1</version>
</dependency>

и адаптировать log4j.properties, которые должны быть помещены в путь к классам проекта.Смотри: https://logging.apache.org/log4j/2.x/manual/configuration.html#Properties

...