Si nuestros programa va a estar constantemente en ejecución, queremos que cada día, hora o minuto se genere otro fichero log, para ello podemos usar el DailyRollingFileAppender. El properties que tendríamos que escribir sería el siguiente:
log4j.appender.diario = org.apache.log4j.DailyRollingFileAppender log4j.appender.diario.File = diario.log log4j.appender.diario.Append = true log4j.appender.diario.DatePattern = '.'yyy-MM-dd log4j.appender.diario.layout = org.apache.log4j.PatternLayout log4j.appender.diario.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss,SSS}%m%n
De esta forma generaremos ficheros cada día. El problema de esto es que el fichero
de hoy no tendría fecha, puesto que los ficheros se renombran al pasar cada día,
almacenando las trazas de el mismo día en diario.log.
Si queremos ponerle fecha a nuestro fichero de trazas de hoy esclusivamente,
usando un RollingFileAppender u otro appender por ejemplo, podemos crearnos una
variable de sistema de esta forma:
static{ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); System.setProperty("current.date", dateFormat.format(new Date())); }escribimos esas líneas de código en nuestro fichero java, nada más ejecutar el programa. Después, nuestro properties de log4j tendría esta forma:
log4j.appender.Pesado=org.apache.log4j.RollingFileAppender log4j.appender.Pesado.file=registroHerramientaQJMT.${current.date}.log log4j.appender.Pesado.layout=org.apache.log4j.PatternLayout log4j.appender.Pesado.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS}%m%nAhora ya tenemos la fecha de hoy en nuestro fichero de trazas.