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

找不到log4j2配置文件。使用默认配置:仅将错误记录到控制台

后易安
2023-03-14
$ java -Dlog4j.configuration=file:///path/to/your/log4j2.xml -jar /path/to/your/jar_file.jar

写到控制台,你得到

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

但是,它也看起来像配置文件已经找到,并且不可解析:

    log4j:WARN Continuable parsing error 2 and column 31
    log4j:WARN Document root element "Configuration", must match DOCTYPE root "null".
    log4j:WARN Continuable parsing error 2 and column 31
    log4j:WARN Document is invalid: no grammar found.
    log4j:ERROR DOM element is - not a <log4j:configuration> element.
    log4j:WARN No appenders could be found for logger (kafka.utils.VerifiableProperties).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

共有3个答案

宗晟
2023-03-14

我也有同样的问题,但我注意到我没有log4j2。在网上阅读了关于这个问题的内容后,我将相关代码复制到记事本中,并将记事本文件还原为xml,并添加到我的项目的“资源”文件夹下。它对我有用。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
  <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="DEBUG">
  <AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
陈夜洛
2023-03-14

如果你没有log4j-1.2的财富。正如Renko在评论中指出的那样,在类路径上,您只会看到消息no log4j2 configuration file found。

如果您的配置文件中存在错误,这将是一个问题,因为您在启动时不会被告知问题所在。

例如,如果您有一个log4j2。log4j2无法处理的yaml文件,例如,您没有为项目配置yaml解析器,或者您的配置根本不正确。您将遇到no log4j2 configuration file found消息,没有进一步的信息。即使您有一个有效的log4j2,情况也是如此。xml文件,因为log4j2只会尝试处理它找到的第一个配置文件。

我发现调试这个问题的最好方法是根据上面提到的命令行参数显式地声明您希望使用的配置文件。

-Dlog4j.configurationFile=

希望这能帮助您确定问题是否是由类加载器未找到log4j2配置文件或配置中的其他内容引起的。

最新消息

您还可以使用以下属性更改状态记录器的默认级别以获取更多信息:

-Dorg.apache.logging.log4j.simplelog.StatusLogger.level=<level>
巩子实
2023-03-14
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

要使用log4j的版本2,也称为“log4j2”

-Dlog4j.configuration=

应该读

-Dlog4j.configurationFile=
  • 1.2手册:http://logging.apache.org/log4j/1.2/manual.html
log4j:WARN ....

在您的项目中,取消包含log4j-1.2jar,而是包含log4j-1.2-api-2.1。罐子我不确定如何准确地排除log4j1.2。我知道我的项目的依赖性需要它。所以,通过一些阅读,我排除了一些东西。

<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka_2.10</artifactId>
    <version>0.8.2.0</version>
    <exclusions>
        <exclusion>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>                
        </exclusion>
        <exclusion>
            <groupId>org.apache.log4j</groupId>
            <artifactId>log4j-core</artifactId>
        </exclusion>
        <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
        </exclusion>          
    </exclusions>
</dependency>

我不确定是哪一个排除在外。另外,我还包括了一个1.2API的依赖项,它连接到2。十、

<!--
    http://logging.apache.org/log4j/2.0/manual/migration.html
    http://logging.apache.org/log4j/2.0/maven-artifacts.html
    Log4j 1.x API Bridge
    If existing components use Log4j 1.x and you want to have this logging
    routed to Log4j 2, then remove any log4j 1.x dependencies and add the
    following.
-->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-1.2-api</artifactId>
    <version>2.2</version>
</dependency>

现在,只发送到控制台的1.2日志实际上会流到我们的2。x追加器。

 类似资料:
  • 问题内容: 写入控制台,您得到 但是,看起来配置文件也已找到并且无法解析: 问题答案: 我已经处理了一段时间了。我已经按照本文中所述更改了所有内容,甚至认为发生了错误。在这种情况下,请确保在更改.xml或.properties文件中的设置时清理项目。在日食环境中。选择项目->清洁

  • 我试图在我的Ant构建中使用log4j2。创建可执行文件jar。jar工作正常,但似乎无法识别log4j2.xml。我现在把文件放在src文件夹下。并在我的构建中设置类路径。xml如下。我所有的项目都是这样。放置log4j2.xml的合适目录是什么?除了在构建中将其添加到类路径之外,还有其他内容吗。xml要做什么?

  • 这是我的配置文件: 日志配置文件读起来非常清楚,因为它使用my/log目录中定义的模式正确地写入。 这是我在代码中实例化它的方式:

  • 最近,我决定学习如何使用log4j2记录器。我下载了所需的jar文件,创建了库,xml编译文件,并尝试使用它。不幸的是,我在console(Eclipse)中得到了这样的语句: 这是我的测试类代码: 和我的xml配置文件: 我还尝试使用不带标记的xml,以及包规范和各种文件夹/包目录,但没有帮助。现在我的文件直接位于Eclipse的project文件夹中。

  • 错误StatusLogger找不到log4j2配置文件。使用默认配置:只将错误记录到控制台。将系统属性“org.apache.logging.log4j.simplelog.statuslogger.level”设置为TRACE,以显示Log4j2内部初始化日志记录。 解决此问题的方法: 2.增加内容

  • 我正在用Spring MVC设置一个新项目,我不能配置Log4j2,我得到了与许多人寻求帮助相同的错误。 ERROR StatusLogger未找到Log4j 2配置文件。使用默认配置... 工具和库: 日蚀光子 SpringMVC 5.1.6 Slf4j 1.7.26 Log4j2.11.2 Maven(来自日蚀) .../组织。日食wst。服务器core/tmp0/wtpwebapps/Mon