2012-09-07 46 views
27

得到错误,部署我的war文件到tomcat时:“的log4j:配置”必须匹配“(渲染... .loggerFactory))?”

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

我用Google搜索了一圈,发现了我的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> 

有什么建议吗?

回答

56

根据错误消息,DTD期望所有category元素都在root元素之前。你有他们错误的方式。