log4j 文档根元素“Configuration”,必须与 DOCTYPE 根“null”匹配

问题描述 投票:0回答:1

我一直在努力解决有关 lo4j 和获取日志记录的问题。经过一番折腾,我去了apache网站:https://logging.apache.org/log4j/2.x/manual/getting-started.html并复制了默认的log4j.xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns="https://logging.apache.org/xml/ns"
               xsi:schemaLocation="
                       https://logging.apache.org/xml/ns
                       https://logging.apache.org/xml/ns/log4j-config-2.xsd">

  <Appenders>
    <Console name="CONSOLE">
      <JsonTemplateLayout/>
    </Console>
  </Appenders>

  <Loggers>
    <Logger name="com.mycompany" level="INFO"/>
    <Root level="WARN">
      <AppenderRef ref="CONSOLE"/>
    </Root>
  </Loggers>

</Configuration>

这样做会导致以下错误:

log4j:WARN Continuable parsing error 6 and column 79
log4j:WARN Document root element "Configuration", must match DOCTYPE root "null".
log4j:WARN Continuable parsing error 6 and column 79
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 (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

我正在使用 log4j 2.24.2。这是错误还是文档错误?

我在tomcat 9下使用java 8。

java log4j
1个回答
0
投票

该错误似乎是因为我有一个旧版本的 lo4j,它被包含在 maven 为我引入的包之一中。我的 lib 目录中有

log4j-1.2.16.jar

我只是停止了我的网络应用程序,删除了这个 jar,然后重新启动并开始获取各种日志消息。

© www.soinside.com 2019 - 2024. All rights reserved.