miércoles, 28 de marzo de 2012

Añadir la fecha en ficheros de trazas log4j

Si queremos añadir la fecha a nuestros ficheros de trazas en log4j tenemos dos opciones.

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%n
Ahora ya tenemos la fecha de hoy en nuestro fichero de trazas.

miércoles, 14 de marzo de 2012

Convertir jar en exe

Se puede generar un exe a partir de un jar con un montón de programas. Yo os comentaré como hacerlo usando el programa Autoit.

Primero generamos el script que ejecutará el programa para crear el exe. Podemos usar el programa Scite que viene con el Autoit, o podemos crear el script a mano. Basta con abrir un documento de texto y cambiar la extensión a .au3

En mi caso, he generado un jar ejecutable que se llama  MiAplicacion.jar. Eso lo podemos generar con el eclipse, por ejemplo, exportando el proyecto. Es tan sencillo como:


Run ("java -jar MiAplicacion.jar")

Si tenemos que pasarle a nuestra aplicación parámetros, bastan con añadir los parámetros al final:

Run ("java -jar MiAplicacion.jar parametro1")

Y si deseamos que la consola de java no aparezca usaremos javaw en vez de java:

Run ("javaw -jar MiAplicacion.jar parametro1")

Podemos leer sobre esto en :

The javaw command is identical to java, except that with javaw there is no associated console window. Use javaw when you don't want a command prompt window to appear. The javaw launcher will, however, display a dialog box with error information if a launch fails for some reason.

Ahora arrancamos el programa Aut2exe.exe y nos pedirá el archivo au3 y la ruta donde generar el exe.