错误StatusLogger Log4j2找不到日志记录实现

js5cn81o  于 2022-09-21  发布在  Eclipse
关注(0)|答案(8)|浏览(230)

我正在尝试实现log4j 2,但一直抛出以下错误。

> ERROR StatusLogger Log4j2 could not find a logging implementation.
> Please add log4j-core to the classpath. Using SimpleLogger to log to
> the console...  
> ERROR LogExample This Will Be Printed On Error 
> FATAL LogExample This Will Be Printed On Fatal

我已经试过网上给出的解决方案了。但这对我来说似乎不起作用。

这是我试图运行的代码

package demo;

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

public class LogExample {

    private static final Logger LOG = LogManager.getLogger(LogExample.class);

    public static void main(String[] args) {

        LOG.debug("This Will Be Printed On Debug");
        LOG.info("This Will Be Printed On Info");
        LOG.warn("This Will Be Printed On Warn");
        LOG.error("This Will Be Printed On Error");
        LOG.fatal("This Will Be Printed On Fatal");
        LOG.info("Appending string: {}.", "Hello, World");
    }

}

pom.xml中添加的项目和依赖项:

如有任何帮助,我们不胜感激。

aij0ehis

aij0ehis1#

在我的例子中,这个错误与maven-shade-plugin的版本(3.2.2)有关。

当我将此插件设置为版本3.2.1时,它可以工作

wn9m85ua

wn9m85ua2#

我在NetBeans 8.2中添加JAR log4j-api-2.12.2.jar时遇到了这个问题。

NetBeans在控制台中打印以下消息:
StatusLogger Log4j2找不到日志记录实现。请将log4j-core添加到类路径。正在使用SimpleLogger登录到控制台...

当我在我的项目中添加log4j-core-2.12.2.0001L.jar时,我解决了这个问题。

我想在Spring中,您只是在Maven中添加了大多数依赖项log4j-core。

链接下载JAR

https://jar-download.com/?search_box=log4j-core

zbwhf8kr

zbwhf8kr3#

我在将log4j从1.x升级到Log4j-2.17.1时也遇到了同样的问题。在部署到GlassFish服务器时收到此错误。

我采取了以下步骤来纠正这一点:

1.关闭Log4j2的自动初始化。已添加到web.xml

<context-param> <param-name>isLog4jAutoInitializationDisabled</param-name> <param-value>true</param-value> </context-param>
1.编程初始化Log4j2:

InputStream inputStream = new FileInputStream("path of Log4j2.xml"); ConfigurationSource source = new ConfigurationSource(inputStream); Configurator.initialize(null, source);

inn6fuwd

inn6fuwd4#

只需将log4j-core-2.12.2.0001L.jar添加到项目中即可解决问题。

c0vxltue

c0vxltue5#

这种依赖关系有助于避免lambda出现这种错误。

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

frebpwbc6#

已通过设置log4j2配置文件的系统属性解决错误消息。下面是下面的代码。

System.setProperty("log4j.configurationFile","./path_to_the_log4j2_config_file/log4j2.xml");

Logger log = LogManager.getLogger(LogExample.class.getName());
fgw7neuy

fgw7neuy7#

如果您已经向maven pom添加了log4j-core,那么您不需要更多的东西,它应该可以工作。问题可能出在您的IDE上,它看不到您的maven依赖。尝试重新加载或重新导入maven依赖项,或者重新启动您的IDE也会有所帮助。

57hvy0tb

57hvy0tb8#

为了绕过Spring Boot的类似问题,我补充道

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

致我的POM

相关问题