Saltar al contenido

¿Log4j 2 ya no admite el archivo log4j.properties?

Solución:

Log4j 2 ya no admite el formato “.properties” de Log4j v1 (sin embargo, desde v2.4, Log4j admite un formato de propiedad, pero su sintaxis es totalmente diferente 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 resultar 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 mas? ¿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, las mismas funciones están disponibles.

Entonces parece que un Log4j1.x heredado log4j.propertiesEl archivo no es compatible tal como está, se debe migrar al 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>

A partir de la versión 2.4, Log4J2 ahora, nuevamente, admite archivos .property. Consulte aquí en la documentación la configuración de propiedades.

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 la 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.

Log4j 2 usa un nuevo formato de archivo de configuración. Necesita usar XML (predeterminado), JSON (con bibliotecas adicionales) o incluso YAML (nuevamente, bibliotecas). Consulte la documentación.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *