Конфигурационные файлы

Конфигурационные файлы бывают 2-х видов: log4j.xml м log4j.properties. Вообще эти файлы взаимозаменяемые, но некоторые возможности (например фильтры) log4j.properties, не поддерживаются. Здесь, в примере, показаны два одинаковых по функциональности файла, заданные через xml и properties:

Properties

log4j.rootCategory=DEBUG, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern= %p %c: %m%n

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="%p %c: %m%n"/>
   </layout>
 </appender>
 <!--Корневой logger-->
 <root>
   <priority value ="debug" />
 <appender-ref ref="console" />
</root>

</log4j:configuration>

Если в корне проекта лежат и log4j.xml м log4j.properties, то приоритет имеет log4j.xml.

Вопрос 1

В каком случае лучше использовать каждый из вариантов?

Last updated