2011-01-05 11 views
5

¿Log4j 1.2 proporciona algún mecanismo para el registro diario de archivos?¿Log4j proporciona algún mecanismo para el registro diario de archivos?

Todo el mundo dice que puedo hacerlo a través de org.apache.log4j.rolling.TimeBasedRollingPolicy pero en las fuentes de 1.2.15 no veo ninguna clase TimeBasedRollingPolicy.

encontré una resolución:

<appender name="FILE" class="org.apache.log4j.rolling.RollingFileAppender"> 
    <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> 

    <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> 
     <param name="ActiveFileName" value="${jboss.server.log.dir}/server.log"/> 
     <!-- roll log file once a day --> 
     <param name="FileNamePattern" value="${jboss.server.log.dir}/archives/server.log.%d.gz"/> 
    </rollingPolicy> 

    <!-- A PatternLayout that limits the number of lines in stack traces --> 
    <layout class="com.mtvi.log4j.StackTraceLimitingPatternLayout"> 
     <!-- The full pattern: Date MS Priority [Category] (Thread) Message\n --> 
     <param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n"/> 
    </layout> 
</appender> 
+0

@ user253202 Hola, si encontraste una solución a tu solicitud usando apache-log4j-extras, póngala aquí para que se comparta con otras personas. Marqúelo como su propia respuesta. – jbx

Respuesta

3

Lo que pides se puede hacer usando DailyRollingFileAppender.

+1

Sí, pero no me permite colocar el registro enrollado en una carpeta específica. Encontré una resolución - apache-log4j-extras – user253202

4

Debe definir su appender como DailyRollingFileAppender y definir el patrón de fecha para que sea de granularidad diaria. El siguiente es un apéndice de ejemplo llamado 'file' que se envía a application.log y tira el archivo diariamente añadiendo la fecha hasta el final después de la medianoche y comenzando un nuevo archivo.

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.file.File=application.log 
log4j.appender.file.DatePattern='.'yyyy-MM-dd 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d %5p [%t] - %m%n 

Luego tendrá que definir sus registradores (o rootLogger) para enviarlos a este appender. Por ejemplo:

log4j.rootLogger=debug, file 
+1

Ok, ¿y cómo hacer que el archivo se mueva no a la misma carpeta que el archivo original, sino a cualquier otra carpeta definida? – user253202

Cuestiones relacionadas