Конфигурационные файлы бывают 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.xml м log4j.properties то приоритет имеет log4j.xml.
Вопрос 1
В каком случае лучше использовать каждый из вариантов?