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<?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>
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:
- "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.