2012-09-07 78 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元素之前。你有他們錯誤的方式。