domingo

La potencia de Netbeans 6.1 para soportar una librería ... commons-logging

La mayoría de los proyectos en producción no utilizan la sentencia System.out.println(""), en lugar de ello utilizan un sistema de trazas basado en Log4J, el log predefinido de java o un wrapper como lo es Commons logging.

En este artículo explicaré cómo configurar el sistema de trazas para Netbeans 6.1 y utilizarlo de una forma muy productiva.

Pasos a seguir
1. Crear los code templates para los mensajes de consola...

1.1 Ve al menú Tools/Options/Editor/[Code templates]/New/Abbreviation=logd



1.2 En Expanded Text introduce lo siguiente:
log.debug("${cursor}");



1.3 Crea un nuevo code template llamado logdv, éste lo usaremos para imprimir en pantalla en modo debug la primer variable que encuentre hacia arriba (similar a soutv pero con un sistema de trazas.)
--------------------------------------------------
Abbreviation: logdv
Expanded text: log.debug("${EXP instanceof="" default="exp"} = " + ${EXP});
--------------------------------------------------

El resultado será algo similar a lo siguiente:



1.4 Repite el mismo proceso para los siguientes code templates
Mensajes de warning: logw, logwv
Mensajes de info: logi, logiv
Mensajes de error: loge, logev
Mensajes de fatal: logf, logfv

El resultado debería ser similar al siguiente:



2. Para utilizar el sistema de trazas en una clase, se necesita una variable que tenga una referencia a la clase, por lo tanto es necesario crear un code template para insertar la variable log como miembro de las clases:

------------------------------
Abbreviation: logv
Expanded text:
private static final Log log = LogFactory.getLog(${clase}.class);
-----------------------------


Resultado:



No todo es miel sobre hojuelas, punto en contra para Netbeans:

El IDE tiene un code hint para envolver un método que lanza excepciones con un try y catch
Para probarlo declare un método que lance cualquier excepción y mandelo a llamar desde cualquier otro método.
Después tipe [alt + enter] y verá un foco en la parte izquierda sugiriendo envolver el método con un try/catch como muestra la imágen.



Al ejecutarlo nos da el siguiente resultado:



Como te puedes dar cuenta, el sistema de trazas que esta ocupando es el que tiene por defecto el JDK y no el de commons logging, intentemos personalizarlo llendo al menú Tools/Options/[Java Code]/[HInts]/Error Fixes/Sorround with try-catch


Desafortunadamente no hay forma de indicarle al IDE que utilice el sistema de trazas de commons logging o mínimo de log4j... ¡ lastima ! ya será para la próxima versión. Aún así podrías crear un code template o una macro ;)

Lo único que resta es instalar log4j y commons logging en un nuevo proyecto.
1. Crea un nuevo proyecto java con el nombre LoggingTest




2. Expande tu proyecto y sobre source packages click derecho/New/ Other.../




3. Ve a la categoría other y elige properties file


4. En File name pon log4j



5. Introduce el siguiente código en tu nuevo archivo log4j.properties:

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.rootLogger=debug, stdout

6. Descarga (log4j y commons-logging)

7. Click derecho al proyecto y Clean and build.

8. Prueba el resultado:




Ahora tienes un Netbeans 6.1 completamente armado para utilizar commons-logging como wrapper para cualquier sistema de trazas, costó un poco de trabajo pero a cambio de ello serás mucho más productivo y veloz a la hora de escribir código fuente.

'A partir de ahora tu camino en Netbeans 6.1 deja huella'

No hay comentarios: