当前位置: 首页 > 知识库问答 >
问题:

错误状态记录器Log4j2找不到日志记录实现

翟棋
2023-03-14

我试图实现log4j2,但它一直抛出以下错误。

> 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:

感谢您的帮助。

共有3个答案

萧业
2023-03-14

如果您已经将log4jcore添加到maven pom中,那么就不需要其他任何东西了,因为它应该可以工作。问题可能是您的IDE没有看到您的maven依赖性。尝试重新加载或重新导入maven依赖项,或者重新启动IDE也会有所帮助。

姜聪
2023-03-14

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

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-to-slf4j</artifactId>
    <version>2.8.2</version>
</dependency>
易昌翰
2023-03-14

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

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

Logger log = LogManager.getLogger(LogExample.class.getName());
 类似资料:
  • 互联网上有许多帖子建议如何从logback迁移到log4j2进行Spring引导日志记录。 参考这个sof post-Spring Boot日志与log4j2-我已经配置我的项目使用log4j2。然后我添加了一些基本的log4j2.xml和log4j2.properties文件来测试。 但是在这些更改之后,我的项目无法进行任何日志记录。有人能帮我找出毛病吗? 项目代码可在github-https:

  • 运行时,我收到以下消息: 我已经把位于下(但不在中,因为我不希望它随实际应用程序一起提供),如这里所建议的那样没有任何效果。 生成超文本标记语言报告,编写日志文件,构建成功,如上所述。我不确定错误是从哪里来的。

  • 我想在我的应用程序中使用SLF4J+logback用于两个目的--日志和审计。 14:41:57.978[main]信息AUDIT_LOGGER-110欢迎使用main 如何确保审核消息在审核记录器下只出现一次?

  • 我试图从log4j1更改为log4j2。我所做的: 已删除旧配置文件log4j。xml 创建了新的配置文件log4j2。xml 创建了jboss部署结构。xml 编辑的pom 环境:野蝇10 1 EAR 4 WAR文件中没有使用web.xml。以前的log4j配置日志在EAR中(仅) Log4j2配置文件 Jboss部署结构 新的maven依赖关系 我之前说过我在SLF4j中使用log4j1。这些

  • 假设我们构建了一个JavaSDK,不同的项目可以通过将其添加为类路径中的jar或添加为mavenpom.xml或gradle文件中的依赖项来使用它。当其他项目使用该库时,SDK中的日志在运行时不可见。我尝试使用SL4J,当其他项目使用它时,没有一个日志在运行时可见。我应该用log4j2吗?如果是,我应该在我的SDK中提供log4j配置 /properties文件吗?是否会在运行时从消费者库中提取属

  • 在一个使用log4j和slf4j的应用程序中,我尝试使用依赖于log4j2的elasticsearch jar。 应用程序的日志依赖项如下所示- 应用程序使用自己的<code>log4j。xml并具有一些log4j的自定义附加器,因此如果不重写附加器,则无法将其迁移到log4j2。 根据elasticsearch文档中的建议,添加了以下依赖项,以使用不同于log4j2的记录器。 但是现在在启动应用