web-dev-qa-db-ja.com

Elasticsearch "StatusLogger Log4j2はロギング実装を見つけることができませんでした。log4j-coreをクラスパスに追加してください。"

Elasticsearch Java clientを2.3から5.1にアップグレードしました。

そして、このエラーログは引き続き表示されます。

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

私はlog4j2を使用しています

<dependency>
    <groupId>org.Apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.7</version>
</dependency>
<dependency>
    <groupId>org.Apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.7</version>
</dependency>
10
digsy89

非常に遅い答えですが、ESをアップグレードしたくない場合は、pomに次の依存関係を追加するだけです:

    <dependency>
        <groupId>org.Apache.logging.log4j</groupId>
        <artifactId>log4j-to-slf4j</artifactId>
        <version>2.8.2</version>
    </dependency>

それはそれを修正する必要があります

8
DariusNica

最新のlog4j2を使用すると助かりました。

<dependency>
        <groupId>org.Apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.11.1</version>
</dependency>
3
stanly

https://discuss.elastic.co/t/issue-with-elastic-search-5-0-0-noclassdeffounderror-org-Apache-logging-log4j-logger/64262/4

バージョンの問題のようです。 2.6.2では正常に動作します。

1
digsy89

私にとって、次の解決策が働いた。 Ref- https://www.elastic.co/guide/en/elasticsearch/client/Java-api/current/_log4j_2_logger.html (元のディスカッションスレッド https:// github。 com/elastic/elasticsearch/pull/25136

You need to include Log4j 2 dependencies:

    <dependency>
        <groupId>org.Apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.11.1</version>
    </dependency>
    And also provide a Log4j 2 configuration file in your classpath. For example, you can add in your src/main/resources project dir a log4j2.properties file like ( I did this): 

    appender.console.type = Console
    appender.console.name = console
    appender.console.layout.type = PatternLayout

    rootLogger.level = info
    rootLogger.appenderRef.console.ref = console
1
nantitv

次のようにプロパティファイルを追加する必要があります here

appender.console.type = Console
appender.console.name = console
appender.console.layout.type = PatternLayout

rootLogger.level = info
rootLogger.appenderRef.console.ref = console
0