【问题标题】:“log4j:configuration” must match “(renderer….loggerFactory)?)”“log4j:configuration”必须匹配“(renderer....loggerFactory)?)”
【发布时间】:2012-09-01 13:31:57
【问题描述】:

在将我的战争文件部署到 tomcat 时出现错误:

log4j:WARN The content of element type "log4j:configuration" must match "(renderer*,throwableRenderer?,appender*,plugin*,(category|logger)*,root?,(categoryFactory|loggerFactory)?)"

我搜索了一下,发现我的 log4j.xml 的顺序可能是错误的,但它应该是正确的。

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">  

  <appender name="console" class="org.apache.log4j.ConsoleAppender">  
    <param name="Target" value="System.out"/>  
    <layout class="org.apache.log4j.PatternLayout">  
      <param name="ConversionPattern" value="%-5p %d %c %x - %m%n"/>  
    </layout>  
  </appender>  

  <root>  
    <priority value ="error" />  
    <appender-ref ref="console" />  
  </root>  

  <category name="org.springframework" additivity="false">  
    <priority value="info" />  
    <appender-ref ref="console" />  
  </category>  

</log4j:configuration>

有什么建议吗?

【问题讨论】:

    标签: java tomcat maven log4j


    【解决方案1】:

    按照这个顺序:

    <renderer></renderer>
    
    <appender></appender>
    
    <plugin></plugin>
    
    <logger></logger>
    
    <category></category>
    
    <root></root>
    
    <loggerfactory></loggerfactory>
    
    <categoryfactory></categoryfactory>
    

    【讨论】:

      【解决方案2】:

      根据错误消息,DTD 期望所有category 元素都在root 元素之前。你把它们弄错了。

      【讨论】:

        猜你喜欢
        • 2012-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-17
        • 1970-01-01
        • 1970-01-01
        • 2011-11-22
        相关资源
        最近更新 更多