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:
Con el que intento tener un log que haga backup diariamente (DatePattern = '.'yyyy-MM-dd).Ver original
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> <appender-ref ref="LOGFILE"/> </appender> <appender class="org.apache.log4j.DailyRollingFileAppender" name="LOGFILE"> <param value="'.'yyyy-MM-dd" name="DatePattern"/> <param value="true" name="Append"/> <param value="/internet/logs/delivery-service.log" name="File"/> <param value="DEBUG" name="Threshold"/> <layout class="org.apache.log4j.PatternLayout"> <param value="%d %-5p %c - %m%n" name="ConversionPattern"/> </layout> </appender> <logger name="com.santics" additivity="false"> <level value="debug"/> <appender-ref ref="LOGFILE"/> </logger> <root> <level value="info"/> <appender-ref ref="LOGFILE"/> <appender-ref ref="ASYNC"/> </root> </log4j:configuration>
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:
- "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)
- "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.