Foros del Web » Programación para mayores de 30 ;) » Java »

log4j - DailyRollingFileAppender falla al hacer backup

Estas en el tema de log4j - DailyRollingFileAppender falla al hacer backup en el foro de Java en Foros del Web. Hola!! Soy relativamente nuevo usando LOG4J y he tenido que aprender a base de tropiezos (como todos, supongo)... Pero este bache me esta costando demasiado ...
  #1 (permalink)  
Antiguo 08/06/2011, 11:33
 
Fecha de Ingreso: diciembre-2008
Mensajes: 9
Antigüedad: 15 años, 4 meses
Puntos: 1
log4j - DailyRollingFileAppender falla al hacer backup

Hola!!

Soy relativamente nuevo usando LOG4J y he tenido que aprender a base de tropiezos (como todos, supongo)... Pero este bache me esta costando demasiado superarlo por mi mismo. Ojala me podais ayudar. A ver si consigo explicarlo:

Escenario: Tengo un servicio web que llama a un JAR (delivery-service.jar) cada vez que quiere realizar el envio de un fichero. Y es en ese JAR donde uso LOG4J para tener un log de todos los envios realizados.

Este es mi archivo log4j.xml:
Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
  3. <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  4.     <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
  5.                 <appender-ref ref="LOGFILE"/>
  6.     </appender>
  7.     <appender class="org.apache.log4j.DailyRollingFileAppender" name="LOGFILE">
  8.         <param value="'.'yyyy-MM-dd" name="DatePattern"/>
  9.         <param value="true" name="Append"/>
  10.         <param value="/internet/logs/delivery-service.log" name="File"/>
  11.         <param value="DEBUG" name="Threshold"/>
  12.         <layout class="org.apache.log4j.PatternLayout">
  13.             <param value="%d %-5p %c - %m%n" name="ConversionPattern"/>
  14.         </layout>
  15.     </appender>
  16.     <logger name="com.santics" additivity="false">
  17.         <level value="debug"/>
  18.         <appender-ref ref="LOGFILE"/>
  19.     </logger>
  20.     <root>
  21.         <level value="info"/>
  22.         <appender-ref ref="LOGFILE"/>
  23.         <appender-ref ref="ASYNC"/>
  24.     </root>
  25. </log4j:configuration>
Con el que intento tener un log que haga backup diariamente (DatePattern = '.'yyyy-MM-dd).

Todas las noches a las 00:30 mi sistema realiza 5 envios.

El fallo: Pues bien, el LOG4J, en vez de meter los logs de esos 5 envios en un nuevo "delivery-service.log" (pues son los primeros envíos del día), y guardar el viejo log en "delivery-service.log.2011-06-07", esto es lo que me crea:
  1. "delivery-service.log": Donde nos encontramos solo una parte de los logs referentes a esos 5 envíos realizados a las 00:30 (A veces están los logs de 3 envios, a veces los de 4... puede que eso sea una pista, pero no caigo por más que le doy vueltas)
  2. "delivery-service.log.2011-06-07": Donde está el resto de los logs referentes a los 5 envios realizados a las 00:30, pero no hay ni rastro de los logs que se fueron almacenando durante el dia 2011-06-07, con lo cual se han perdido.

Dicho de otra manera: me crea un backup que deberia tener todos los logs realizados el dia de ayer, pero unicamente tiene unos cuantos logs realizados hoy. Una autentica putada.

¿Que me recomendais que haga/mire/cambie?

Un saludo y gracias.
  #2 (permalink)  
Antiguo 10/06/2011, 06:23
 
Fecha de Ingreso: diciembre-2008
Mensajes: 9
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: log4j - DailyRollingFileAppender falla al hacer backup

Bien, ya he dado con el problema.

Al parecer el problema estaba en que los hilos de ejecucion no se cerraban bien. En mi caso porque ejecutaba un 'enableSOAPLogging' pero no su correspondiente 'disableSOAPLogging'... No se si esto ayudará a alguien, espero que si

Etiquetas: backup, dailyrollingfileappender, falla, log4j
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:48.