2013-06-18 9 views
1

Я использую log4j-1.2.17 баночку версии,Log4J: Ошибки в log4j.xml

При запуске приложения, я получаю следующие ошибки в консоли

log4j:WARN Continuable parsing error 38 and column 24 
log4j:WARN Attribute "ref" is required and must be specified for element type "appender-ref". 
log4j:WARN Continuable parsing error 47 and column 12 
log4j:WARN The content of element type "root" must match "(param*,(priority|level)?,appender-ref*)". 
log4j:ERROR No appender named [] could be found. 

Это мой 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 class="org.apache.log4j.RollingFileAppender" name="FILE"> 
     <param value="D:\\Two\\test.log" name="File"/> 
     <param value="10" name="MaxBackupIndex"/> 
     <param value="200MB" name="MaxFileSize"/> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param value="%d[%t] %-5p(%F:&lt;%M&gt;:%L)- %m%n" name="ConversionPattern"/> 
     </layout> 
    </appender> 





<appender class="com.MyAppender" name="customAppen"> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param value="%d[%t] %-5p(%F:&lt;%M&gt;:%L)- %m%n" name="ConversionPattern"/> 
     </layout> 
    </appender> 




<appender class="org.apache.log4j.AsyncAppender" name="asynchapp"> 
    <param name="Blocking" value="false"/> 
    <appender-ref ref="customAppen"/> 

    </appender> 


    <root level="INFO"> 


     <appender-ref ref="FILE"/> 

     <appender-ref ref="asynchapp"/> 
    </root> 

</log4j:configuration> 

ответ

2

Они, кажется, исходит из <appender-ref/> линии, которая находится прямо под <root>. Это должно быть удалено, так как оно не ссылается на какой-либо appender, и вы, вероятно, должны перенести свой appender-ref для приложения customAppen в корневой тег.

+1

удалить Также '<значение уровня = "INFO"/>' линия .... и добавить данные в корневой элемент, как: '<корневой уровень = «INFO»> ' – Ammar

+0

Я отредактировал файл log4j.xml, как уже упоминалось, см. Вопрос о обновлении, как я могу перенести свой appender-ref для приложения customAppen в корневой тег. ?? – Pawan

+0

После редактирования мои ошибки были теперь log4j: WARN Непрерывная ошибка синтаксического анализа 36 и столбец 24 log4j: WARN Атрибут «level» должен быть объявлен для типа элемента «root». Append был вызван – Pawan

0

В связанной с вопросом для других читателей, я также думаю, что вопросы порядка, поэтому нужно держать в таком порядке:

renderer*, appender*,(category|logger)*,root?, categoryFactory? 

пример log4j.xml файл будет выглядеть примерно так,

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

    <!-- I created a renderer for the servlet request object so that it --> 
    <!-- is easy to log info about it. It's also reusable this way in all 
     servlets. --> 
    <renderer renderedClass="javax.servlet.http.HttpServletRequest" 
     renderingClass="com.firstpac.etools.log.HttpServletRequestRenderer"/> 

    <!-- All output goes to eTools logfile ($TOMCAT_HOME/logs directory) --> 
    <appender name="log" class="org.apache.log4j.DailyRollingFileAppender"> 
     <layout class="org.apache.log4j.PatternLayout"> 
     </layout> 
    </appender> 

    <!-- All output goes to DB for client statistics --> 
    <appender name="clientStats" class="org.apache.log4j.jdbc.JDBCAppender"> 
    </appender> 


    <!-- This is our logger for the fpcServlets application. It logs all --> 
    <!-- info to files (error/debug...) --> 
    <logger name="com.firstpac.etools.log4j.log"> 
     <level value="debug" /> 
     <appender-ref ref="log" /> 
    </logger> 

    <!-- This is our logger for the fpcServlets application. It logs all --> 
    <!-- statistics info for the user --> 
    <logger name="com.firstpac.etools.log4j.clientStats"> 
     <level value="info" /> 
     <appender-ref ref="clientStats" /> 
    </logger> 

</log4j:configuration> 

Source Appache Logging forums

Смежные вопросы