gpt4 book ai didi

java - 不能从静态上下文引用非静态方法 'getLogger'

转载 作者:行者123 更新时间:2023-12-04 14:50:33 27 4
gpt4 key购买 nike

我正在尝试使用 log4j2 在 Java 中创建一个简单的日志记录应用程序。

看起来是这样的:

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,那么您导入了错误的 LogManagerLogger。你应该有这个:

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

您应该查看文档:https://logging.apache.org/log4j/2.x/manual/api.html

编辑:Maven

根据文档 Using Log4j in your Apache Maven build ,您的 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>

关于java - 不能从静态上下文引用非静态方法 'getLogger',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53740231/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com