java - example - log4j2 levels
¿Log4j 2 ya no admite el archivo log4j.properties? (3)
A partir de la versión 2.4, Log4J2 ahora, de nuevo, admite archivos .property. Consulte aquí en la documentación para la configuración de la propiedad .
Configuración con propiedades
A partir de la versión 2.4, Log4j ahora admite la configuración a través de archivos de propiedades. Tenga en cuenta que la sintaxis de propiedad NO es la misma que la utilizada en Log4j 1. Al igual que las configuraciones XML y JSON, las configuraciones de propiedades definen la configuración en términos de complementos y atributos de los complementos.
Estoy ejecutando un ejemplo utilizando log4j 2.0-rc1 y log4j.properties
, pero log4j lib siempre lo ejecuta con la configuración predeterminada (nivel de registro, appender, etc.). También intenté cambiar el nombre a log4j2.properties
y no pasó nada.
Log4j 2 utiliza un nuevo formato de archivo de configuración. Debe utilizar XML (predeterminado), JSON (con bibliotecas adicionales) o incluso YAML (nuevamente, bibliotecas). Echa un vistazo a la documentación .
Log4j 2 ya no admite el formato ".properties" de Log4j v1 (aún, desde v2.4, Log4j admite un formato de Propiedad, pero su sintaxis es totalmente diferente de la del formato v1 ). Los nuevos formatos son XML, JSON y YAML, consulte la documentación (nota: si utilizó uno de estos formatos en un archivo llamado ".properties", puede ser confuso).
Para especificar la ubicación de su archivo de configuración, ¿utiliza la propiedad del sistema log4j.configurationFile
, la clase Log4j ConfigurationFactory
, o algo más? ¿Leíste esta página de manual ? Explica que: Aunque la sintaxis de configuración de Log4j 2 es diferente a la de Log4j 1.x, la mayoría, si no todas, de la misma funcionalidad están disponibles.
Por lo tanto, parece que un archivo log4j.properties
log4j.properties log4j.properties
no es compatible como tal, debe migrarse a formato v2.x. Sin embargo, la migración parece bastante fácil, mirando el ejemplo en el enlace que di arriba. Aquí hay un extracto:
Ejemplo de archivo de configuración Log4j v1.x:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j=''http://jakarta.apache.org/log4j/''>
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</layout>
</appender>
<category name="org.apache.log4j.xml">
<priority value="info" />
</category>
<Root>
<priority value ="debug" />
<appender-ref ref="STDOUT" />
</Root>
</log4j:configuration>
Mismo archivo de configuración migrado a Log4j v2:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="org.apache.log4j.xml" level="info"/>
<Root level="debug">
<AppenderRef ref="STDOUT"/>
</Root>
</Loggers>
</Configuration>