Para saber cuáles son las ventajas y desventajas entre un formato y otro, puedes ver la siguiente discusión
Desde mi punto de vista, deberíamos usar el formato XML.
Aquí dejo un ejemplo de un archivo de configuración properties y su equivalente en xml que encontré en esta página.
log4j.properties
# Set root logger level to DEBUG and its only appender to A1. log4j.rootLogger=DEBUG, A1 # A1 is set to be a ConsoleAppender. log4j.appender.A1=org.apache.log4j.ConsoleAppender # A1 uses PatternLayout. log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
log4j.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!-- A1 is set to be a ConsoleAppender --> <appender name="A1" class="org.apache.log4j.ConsoleAppender"> <!-- A1 uses PatternLayout --> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n"/> </layout> </appender> <root> <!-- Set root logger level to DEBUG and its only appender to A1 --> <priority value ="debug" /> <appender-ref ref="A1" /> </root> </log4j:configuration>