Как использовать файл внешних свойств для использования log4j2 в Springboot? - PullRequest
0 голосов
/ 17 декабря 2018

Я не хочу использовать log4j2.properties файл в моей весенней загрузке.Я хочу использовать внешний файл свойств, но он показывает мне ошибку.

Exception in thread "main" java.lang.AbstractMethodError: org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(Lorg/apache/logging/log4j/core/config/ConfigurationSource;)Lorg/apache/logging/log4j/core/config/Configuration;
at org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:510)
at org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:450)
at org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(ConfigurationFactory.java:257)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:560)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:577)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:212)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:152)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:551)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:537)
at com.flight.testcode.App.<clinit>(App.java:11)

Зависимость файла POM

<dependencies>
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
   <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.6.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.6.1</version>
    </dependency>

Так как можноя использую файл внешних свойств.

Он также не поддерживает log4j2 версии 2.11.1?

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Наконец-то я нашел решение загрузки внешнего файла log42.

import org.apache.logging.log4j.core.config.Configurator;

static {
   Configurator.initialize(null, "<filename>.properties");
}

Если мы не используем метод Configurator.initialize(), то log4j2 использует конфигурацию по умолчанию.

0 голосов
/ 17 декабря 2018

Добавьте следующую зависимость

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>

Затем укажите конфигурацию ведения журнала при запуске:

-Dlogging.config=/path/to/log4j2.yaml (or .json or .xml)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...