“log4j:configuration”必须匹配“(renderer....loggerFactory)?)”
Posted
技术标签:
【中文标题】“log4j:configuration”必须匹配“(renderer....loggerFactory)?)”【英文标题】:“log4j:configuration” must match “(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>
有什么建议吗?
【问题讨论】:
【参考方案1】:按照这个顺序:
<renderer></renderer>
<appender></appender>
<plugin></plugin>
<logger></logger>
<category></category>
<root></root>
<loggerfactory></loggerfactory>
<categoryfactory></categoryfactory>
【讨论】:
【参考方案2】:根据错误消息,DTD 期望所有category
元素都在root
元素之前。你把它们弄错了。
【讨论】:
以上是关于“log4j:configuration”必须匹配“(renderer....loggerFactory)?)”的主要内容,如果未能解决你的问题,请参考以下文章