Logging

LIBP-0086 (Libro de pautas)

Todos los desarrolladores , en todas las fases de un desarrollo necesitan conocer el estado del mismo. Es muy habitual la comunicación , por parte del sistema, mediante mensajes de salida de situaciones anómalas en el desarrollo, del resultado de las pruebas, etc… Por lo tanto existe la necesidad de estandarizar este sistema de mensajes y de dar una potencialidad necesaria para cubrir todas las exigencias de los desarrolladores.

Desde el punto de vista de un desarrollador , una herramienta de logging debe de cumplir con los siguientes requisitos:

  • Categorización de los mensajes en función de la prioridad de los mismos
  • Habilitar o deshabilitar logs en función de niveles de usuario
  • Posibilitar diferentes ubicaciones para las salidas de los mensajes.
  • Poder dar un formato de salida a los mensajes que se lanzan

La utilización de una gestión de logs conlleva un buen número de ventajas,facilita la comprensión del código, la mantenibilidad del sistema, la detección y corrección de errores, etc. Madeja propone las siguientes pautas.

Pautas

TítuloCarácter
Utilización del System.outObligatoria
Configuración del servidor de aplicacionesObligatoria
Configuracion a nivel aplicaciónObligatoria
Librerias recomendadasObligatoria
Niveles de prioridad Obligatoria

Utilización del System.out

No se debe hacer invocación directa a consola, por lo que se descartan mecanismos de log como:

System.out.println(“Consultando el API”);

Este tipo de llamadas sólo serán aceptadas en pruebas unitarias de JUnit.

Configuración del servidor de aplicaciones

Será necesaria la configuración del servidor de aplicaciones para permitir loggers independientes por aplicación.

Configuracion a nivel aplicación

A nivel de aplicación se deberá configurar el uso de un logger independiente para ella.

Librerias recomendadas

Se deberá utilizar conjuntamente Apache Commons Logging y Log4J, utilizando los diferentes niveles de prioridad.

Niveles de prioridad

Los desarrollos deben disponer de variedad de logs, lo cual ayuda a la comprensión del código, la mantenibilidad del sistema, la detección y corrección de errores, etc. Se exigirá el uso de un framework de logs que garantice poder realizar apuntes de log con diferentes niveles de prioridad, como son:

  • DEBUG: trazas de la aplicación en depuración
  • INFO: información
  • WARN: advertencia (posible fallo)
  • ERROR: error del sistema
  • FATAL: error bloqueante que puede tener efectos secundarios en el sistema (por ejemplo, no poder conectarnos a una base de datos generará probablemente un bloqueo de muchas funcionalidades del sistema)

Para dar soporte a esta necesidades , recomendamos el uso conjunto de un componente y una librería asociada.

Contenidos relacionados

Recursos
Área: Desarrollo » Aplicaciones Java » Librerías y Utilidades para Aplicaciones Java
Código Título Tipo Carácter
RECU-0225 Commons Logging Ficha Técnica Recomendado
RECU-0226 Log4j Ficha Técnica Recomendado