es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo agregar un nombre de host para mi archivo de registro en log4j2.xml? Estoy trabajando en Spring 3.0.5 y necesito migrar de log4j a log4j2.

Tengo mi archivo log4j2.xml en el cual necesito agregar el nombre del host al archivo de registro para el Appender de archivo.
Tengo el siguiente log4j2.xml:

    <configuration status="WARN" monitorinterval="30">
        <properties>
            <property name="LOG_PATTERN">%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} %p %m%n</property>
        </properties>
        <appenders>
            <!-- Console Appender -->
            <console name="ConsoleAppender" target="SYSTEMOUT" follow="true">
                <patternlayout pattern="${LOG_PATTERN}"></patternlayout>
            </console>
        <!-- File Appenders on need basis -->
        <rollingfile name="FileAppender" filename="/apps/logs/app-${hostname}.log" filepattern="/apps/logs/app-%server%-%d{yyyy-MM-dd}-%i.log">
            <levelrangefilter minlevel="DEBUG" maxlevel="DEBUG" onmatch="ACCEPT" onmismatch="DENY"></levelrangefilter>
            <patternlayout>
                <pattern>%d{MM/dd HH:mm:ss,SSS} [%X{jobId}] [%t] %-5p %c{1}.%M:%L %m%n</pattern>
            </patternlayout>
            <policies>
                <sizebasedtriggeringpolicy size="10MB"></sizebasedtriggeringpolicy>
            </policies>
            <defaultrolloverstrategy max="10"></defaultrolloverstrategy>
        </rollingfile>
    </appenders>
</configuration>

“`

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para añadir el nombre de host al archivo de registro para el File Appender en el log4j2.xml anterior, debes reemplazar ${hostname} por ${sys:hostname} en el atributo fileName. La configuración modificada del RollingFile Appender debe lucir así:

    <rollingfile name="FileAppender" filename="/apps/logs/app-${sys:hostname}.log" filepattern="/apps/logs/app-%server%-%d{yyyy-MM-dd}-%i.log">
        <levelrangefilter minlevel="DEBUG" maxlevel="DEBUG" onmatch="ACCEPT" onmismatch="DENY"></levelrangefilter>
        <patternlayout>
            <pattern>%d{MM/dd HH:mm:ss,SSS} [%X{jobId}] [%t] %-5p %c{1}.%M:%L %m%n</pattern>
        </patternlayout>
        <policies>
            <sizebasedtriggeringpolicy size="10MB"></sizebasedtriggeringpolicy>
        </policies>
        <defaultrolloverstrategy max="10"></defaultrolloverstrategy>
    </rollingfile>
    

    Esto utilizará la propiedad del sistema hostname para añadir el nombre de host al nombre del archivo de registro. Asegúrate de que la propiedad hostname esté configurada en tu entorno.

Comments are closed.