ElasticSearch ERROR StatusLogger Log4j2 не удалось найти реализацию ведения журнала, когда я использую Logback - PullRequest
1 голос
/ 02 октября 2019

Я использую logback для входа в свое приложение

    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.3</version>
    </dependency>

И в своем классе я использую это

Logger logger = Logger.getLogger(ElasticSearchRepository.class.getName());

В анализаторе зависимостей я обнаружил, чтоasticsearch использует log4j-api 2.11.1

    <dependency>
      <groupId>org.elasticsearch</groupId>
      <artifactId>elasticsearch</artifactId>
      <version>6.7.0</version>
    </dependency>

У меня есть эта ошибка:

ERROR StatusLogger Log4j2 could not find a logging implementation.
Please add log4j-core to the classpath. 
Using SimpleLogger to log to the console...

Я решил ее, исключив log4j-api из зависимости от эластичного поиска, но, с другой стороны, я получил эту ошибку

Cause: java.lang.ClassNotFoundException: org.apache.logging.log4j.Logger

Я получил зависимость Log4j, удалив исключение, но у меня также была первая ошибка, и я не собираюсь добавлять jar log4j, так как я уже использую logback

1 Ответ

0 голосов
/ 03 октября 2019

Добавление этой зависимости, кажется, разрешает ее.

    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-to-slf4j</artifactId>
      <version>2.11.1</version>
    </dependency>

Это не приводило к конфликтам с logback, что достаточно хорошо, единственное, что печально, это то, что я добавил зависимость, чтобы просто устранить ошибку, а не для функциональных целей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...