Buscar..


Archivo de configuración

Configuración

El archivo de configuración de Log4j puede estar en cualquiera de estos formatos:

  • JSON
  • YAML
  • propiedades (archivo de texto)
  • XML

Descubrimiento de la configuración

  1. Log4j inspeccionará la propiedad del sistema log4j.configurationFile y, si está establecida, intentará cargar la configuración.
  2. Si no se establece ninguna propiedad del sistema, log4j buscará log4j2-test.properties en la ruta de log4j2-test.properties .
  3. Si no se encuentra dicho archivo, log4j buscará log4j2-test.yaml o log4j2-test.yml en la ruta de log4j2-test.yml .
  4. Si no se encuentra dicho archivo, log4j buscará log4j2-test.json o log4j2-test.jsn en la ruta de log4j2-test.jsn .
  5. Si no se encuentra dicho archivo, el logj4 buscará log4j2-test.xml en la ruta de log4j2-test.xml .
  6. Si no se puede encontrar un archivo de prueba, log4j buscará log4j2.properties en la ruta de log4j2.properties .
  7. Si no se puede localizar un archivo de propiedades, log4j buscará log4j2.yaml o log4j2.yml en la ruta de log4j2.yml .
  8. Si no se puede encontrar un archivo YAML, log4j buscará log4j2.json o log4j2.jsn en la ruta de log4j2.jsn .
  9. Si no se puede encontrar un archivo JSON, log4j intentará localizar log4j2.xml en la ruta de log4j2.xml .
  10. Si no se puede encontrar un archivo de configuración, se utilizará la Configuración predeterminada. Esto hará que la salida del registro vaya a la consola.

Configuración XML

Ejemplo XML

La siguiente configuración configura dos agregadores (salida de registro). Los primeros registros a la salida estándar del sistema (consola) y los otros registros a archivar. En este ejemplo, la ubicación del archivo se puede establecer de forma estática en la configuración ( file appender) o dinámicamente a través de la función de filtrado de <Property name="APPENDER"> ( <Property name="APPENDER"> ). Los registros en el archivo serán empaquetados por día. El Conversion Pattern formato de línea de registro se establece como una variable.

<?xml version="1.0" encoding="UTF-8"?>
<!-- 'status' sets log level for parsing configuration file itself -->
<Configuration status="INFO">
<Properties>
    <!-- Sets variable PID, if it's not present in log4j context will take value as below: -->
    <Property name="PID">????</Property>
    <!-- Sets variable 'LOG_PATTERN', defining how log line will look like -->
    <Property name="LOG_PATTERN">%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{%5p} %clr{${sys:PID}}{magenta} %clr{%X{usr}}{green} %clr{---}{faint}%clr{[%15.15t]}{faint} %clr{%-40.40c{1.}:%l}{cyan} %clr{:}{faint} %m%n%wEx</Property>
    <!-- LOG_DIR may be set by maven filtering feature: -->
    <Property name="LOG_DIR">@logging.path@</Property>
    <!-- APPENDER may be set by maven filtering feature, to set 'console' or 'file' appender: -->
    <Property name="APPENDER">@logging.default.appender@</Property>
</Properties>
<Appenders>
    <!-- Sets console output: -->
    <Console name="console" target="SYSTEM_OUT">
        <PatternLayout pattern="${LOG_PATTERN}"/>
    </Console>
    <!-- Sets output to file, and names it 'file' -->
    <RollingRandomAccessFile append="true" fileName="${LOG_DIR}/log4j2.log"
        filePattern = "${LOG_DIR}/log4j2.%d{yyyy-MM-dd}.nr%i.log.gz" name="file">
        <PatternLayout>
            <Pattern>${LOG_PATTERN}</Pattern>
        </PatternLayout>
        <Policies>
            <TimeBasedTriggeringPolicy />
        </Policies>
    </RollingRandomAccessFile>
</Appenders>
<Loggers>
    <!-- Sets debug for Class 'com.example.package.Clazz', and attaches to file 'file' -->
    <Logger name="com.example.package.Clazz" level="debug">
        <AppenderRef ref="file"/>
    </Logger>
    <!-- Sets 'info' for package 'org.springframework' -->
    <Logger name="org.springframework" level="info" />
    <Root level="WARN">
        <AppenderRef ref="${APPENDER}"/>
    </Root>
</Loggers>
</Configuration>


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow