web-dev-qa-db-ja.com

「log4j:configuration」は「(renderer….loggerFactory)?)」と一致する必要があります

私のwarファイルを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>

助言がありますか?

30
Jaanus

エラーメッセージによると、DTDはすべてのcategory要素がroot要素の前にあると想定しています。あなたはそれらを間違った方法で持っています。

58
Ian Roberts

順序に従う-------------------->

`<renderer></renderer>

<appender></appender>

<plugin></plugin>

<logger></logger>

<category></category>

<root></root>

<loggerfactory></loggerfactory>

<categoryfactory></categoryfactory>`
1
Aioria de Leo