Log4J: Cómo crear distintos logs en función de su naturaleza y nivel

0
47599

Log4J: Cómo crear distintos logs en función de su naturaleza y nivel

Una tarea fundamental en todo proyecto informático es la generación de log o trazas, generalmente para detectar y solucionar los posibles errores
que pudieran producirse.

En mi experiencia en este sector he observado que normalmente los programadores dejan sus logs en un archivo mismo archivo independientemente de su naturaleza (entrada/salida, seguridad, interfaz gráfico, etc.) y nivel (debug, info, warn, etc.).
Yo particularmente no estoy del todo deacuerdo con esté método. Soy más partidario de crear varios archivos y así no mezclar peras con manzanas. Con esto consigo detectar los problemas más rapidamente,
así como para tener mayor flexibilidad a la hora de cambiar los niveles de traceo en determinadas partes de la aplicación según las necesidades.

Una aplicación medianamente bien diseñada organizará sus clases en paquetes en donde las clases tienen algún tipo de relacción semántica.

Por ejemplo, las clases de acceso a datos no deberían estar en el mismo paquete que clases de interfaz gráfica.

En este tutorial vamos a generar 4 archivos de Logs:

  • tuApplicationName.log:
    En este archivo dejaremos todas las salidas de log, independientemente de su naturaleza y nivel.
  • tuApplicationNameErrorFile.log:
    En este archivo dejaremos las salidas de avisos o errores (No los de debug o info) de cualquier parte de la aplicacion.
  • tuApplicationNameErrorFile1.log:
    En este archivo dejaremos las salidas de avisos o errores (No los de debug o info) de cualquier clase del paquete com.autentia.tutoriales.log4j.paquete1 o sus subpaquetes.
  • tuApplicationNameErrorFile2.log:
    En este archivo dejaremos las salidas de avisos o errores (No los de debug o info) de cualquier clase del paquete com.autentia.tutoriales.log4j.paquete2 o sus subpaquetes.

En el paquete com.autentia.tutoriales.log4j.paquete1, agruparíamos las clases con una determinada funcionalidad.

En el paquete com.autentia.tutoriales.log4j.paquete2, agruparíamos las clases con una determinada funcionalidad.

Archivo de configuración de Log4j: autentiaLog4jTutorial.xml

tuApplicationName.log:

tuApplicationNameErrorFile.log

tuApplicationNameErrorFile1.log

tuApplicationNameErrorFile2.log

Conclusiones

La gestión de trazas es una parte fundamental de toda aplicación, por lo que es recomendable establecer alguna política o pautas al respecto dentro del proyecto.

Recordar que la mayor parte del dinero de un sistema informático se va en mantenimientos, así que un buen sistema de logs nos hará la vida más fácil y nos permitirá ahorrar muchos esfuerzos (dinerito).

Carlos García Pérez. Creador de MobileTest, un complemento educativo para los profesores y sus alumnos.

cgpcosmad@gmail.com

Dejar respuesta

Please enter your comment!
Please enter your name here