デアデビル:
私が使用して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>