specify propertyconfigurator example ejemplo configurar log4j

ejemplo - propertyconfigurator configure log4j properties example



¿Cómo configuro log4j usando log4j.xml para adjuntar a diferentes archivos de registro según el nombre de la clase? (2)

Esto se basa en mi answer a una pregunta similar:

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!-- general application log --> <appender name="BarLogFile" class="org.apache.log4j.FileAppender"> <param name="File" value="bar.log" /> <param name="Threshold" value="INFO" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-5p %t [%-40.40c] %x - %m%n"/> </layout> </appender> <!-- additional fooSystem logging --> <appender name="BlatzLogFile" class="org.apache.log4j.FileAppender"> <param name="File" value="blatz.log" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-5p %t [%-40.40c] %x - %m%n"/> </layout> </appender> <logger name="com.foo.bar"> <appender-ref ref="BarLogFile"/> </logger> <logger name="com.bar.blatz"> <appender-ref ref="BlatzLogFile"/> </logger> <root> <level value="INFO"/> <!-- no appender, output will be swallowed (I think) --> </root> </log4j:configuration>

Si agrega un appender-ref al elemento raíz, también recibirá mensajes com.foo.bar, etc. Puede detener eso especificando ''additivity = "false"'' en los registradores.

Quiero configurar log4j para que todos los mensajes de registro producidos a partir de las clases en el paquete com.foo.bar vayan a bar.log, y todos los mensajes de registro producidos a partir de las clases en el paquete com.bar.blatz vayan a blatz.log.

Preguntas

  • ¿Cómo hago esto usando log4j.xml?
  • Sé que es posible usar archivos de propiedades, pero ¿cómo lo hago usando la configuración XML?

<root> <level value="INFO"/> <!-- no appender, output will be swallowed (I think) --> </root>

Podemos añadir agregadores aquí. Funcionará si la aplicación está utilizando root logger. por ejemplo la API del programador de cuarzo.