Java log4J导致错误:类型记录器的getRootLogger()方法未定义

Java log4J导致错误:类型记录器的getRootLogger()方法未定义,java,jakarta-ee,logging,log4j,log4j2,Java,Jakarta Ee,Logging,Log4j,Log4j2,我创建了一个示例动态web项目来测试log4j。用粗体突出显示的代码显示错误并显示: “错误:类型记录器的getRootLogger()方法未定义” servlet代码段如下所示: private Logger logger = null; logger = Logger.getLogger(); BasicConfigurator.configure(); 如何解决此错误。如果试图使用log4j logger实现日志记录,请尝试以下操作: priv

我创建了一个示例动态web项目来测试log4j。用粗体突出显示的代码显示错误并显示:

“错误:类型记录器的getRootLogger()方法未定义”

servlet代码段如下所示:

    private Logger logger = null;        

    logger = Logger.getLogger();

    BasicConfigurator.configure();

如何解决此错误。

如果试图使用log4j logger实现日志记录,请尝试以下操作:

private static Logger logger = Logger.getLogger("Class Name");

如果您试图使用log4j logger实现日志记录,请尝试以下操作:

private static Logger logger = Logger.getLogger("Class Name");

getLogger()指定一个名称

像这样使用

private static Logger logger = Logger.getLogger("MyClass");  
logger.info("Started!..");

getLogger()指定一个名称

像这样使用

private static Logger logger = Logger.getLogger("MyClass");  
logger.info("Started!..");

由于您的问题被标记为Log4j2,下面是如何在Log4j2中获取根记录器:
org.apache.logging.log4j.LogManager.getRootLogger()

由于您的问题被标记为Log4j2,下面是如何在Log4j2中获取根记录器:
org.apache.logging.log4j.LogManager.getRootLogger()
这对我有用:

import
Logger类来自
org.apache.log4j.Logger
包,而不是其他包

我希望这对你有用。

这对我有用:

import
Logger类来自
org.apache.log4j.Logger
包,而不是其他包


我希望这对您有用。

您的错误是“getRootLogger()”,但代码是“getLogger()”。您是否粘贴了正确的代码和错误的错误消息?我尝试用getLogger()替换getRootLogger()。在输入问题时,这是一个错误。但是,两者都显示未定义的方法。错误为“getRootLogger()”,但代码为“getLogger()”。是否粘贴了正确的代码和错误的错误消息?我尝试用getLogger()替换getRootLogger()。在输入问题时,这是一个错误。但是,两者都显示未定义的方法。抱歉,Logger.getLogger出现相同的错误。setLevel(致命)也显示错误。您不需要使用BasicConfigurator.configure();等等。只需初始化记录器。那你就可以使用它了。请看我的最新答案。但这种“未定义方法”的情况仍然存在。这意味着Logger类不包含上述方法,不是吗?确保您导入了这个导入org.apache.log4j.Logger;并将log4j.jar添加为库。很抱歉,Logger.getLogger出现相同的错误。setLevel(致命)也显示错误。您不需要使用BasicConfigurator.configure();等等。只需初始化记录器。那你就可以使用它了。请看我的最新答案。但这种“未定义方法”的情况仍然存在。这意味着Logger类不包含上述方法,不是吗?确保您导入了这个导入org.apache.log4j.Logger;并将log4j.jar添加为库。这解决了getRootLogger()错误的问题。但是setLevel()显示错误:未定义的方法。不管怎样,谢谢。这个问题刚刚在log4j用户邮件列表中被问到。这里有一个链接,它的回答是:太好了。现在,这意味着解决了getRootLogger()错误的问题。但是setLevel()显示错误:未定义的方法。不管怎样,谢谢。这个问题刚刚在log4j用户邮件列表中被问到。这里有一个链接,它的回答是:太好了。现在,这意味着什么