javaの - 非静的メソッド「のgetLoggerは、」静的なコンテキストから参照することはできません

デアデビル:

私が使用してJavaで簡単なロギングアプリケーションを作成しようとしていますlog4j2

これは、それがどのように見えるかです:

package com.company;

import java.io.IOException;

import java.util.logging.LogManager;
import java.util.logging.Logger;


    public class Main {

       private static final Logger logger = LogManager.getLogger(Main.class);

        public static void main(String[] args) throws IOException {

            String message = "Hello there!";
            System.out.println(message);
            logger.info(message);

        }
    }

上のエラーがありますgetLogger主張は:

 Non-static method 'getLogger' cannot be referenced from a static context

私はこのフォーラムにさまざまなスレッドに見てきたが、それらのどれも動作するように見えません。彼らは私が上記したようロガーを同じ方法で宣言するように見えました。

何が私がここに間違っているのでしょうか?

ミカエル:

あなたが使用している場合log4j2、あなたは間違っを輸入LogManagerしてLoggerあなたはこれを持っている必要があります。

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

あなたがドキュメントに見てみる必要があります。https://logging.apache.org/log4j/2.x/manual/api.html

EDIT:Mavenの

文書によると、あなたのApache MavenのビルドでのLog4jを使用して、あなたはあなたの中に、次の依存関係を持っている必要がありますpom.xml

<dependencies>
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.11.1</version>
  </dependency>
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.11.1</version>
  </dependency>
</dependencies>

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=223943&siteId=1