Log4J

Post date: Apr 7, 2012 10:05:35 AM

En el contexto del desarrollo de aplicaciones llevar trazas de ejecución (en inglés logging) consiste en insertar instrucciones en el programa para producir algún tipo de información de salida que resulta útil para el programador. El paquete Log4J ofrece un mecanismo jerárquico de insertar trazas en los programas en Java o otros lenguajes con múltiples niveles de información y múltiples formatos de salida.

El proyecto Apache Logging Services desarrolla los productos de software libre siguientes:

  • Apache log4j™ para Java

  • Apache log4cxx™ para C++

  • Apache log4net™ para C# y los lenguajes bajo "Common Language Infrastructure"

  • Apache log4php™ para PHP

  • Apache Chainsaw™, una herramienta de visualización y análisis de pistas de auditoría.

Para instalar Log4J en un proyecto en Java se incluye la librería del sitio de Apache y se incluye el archivo log4j-1.2.16.jar.

Aún sin usar explícitamente esta librería es probable que al incluirla y configurarla comiencen a aparecer las trazas de las librerías que está utilizando. Un archivo de configuración mínimo puede ser ubicado en la carpeta principal de los fuentes de la aplicación con el nombre log4j.properties y el contenido siguiente:

# Set root logger level to DEBUG and its only appender to A1.

log4j.rootLogger=DEBUG, A1

# A1 is set to be a ConsoleAppender.

log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

Para crear trazas en un programa se utiliza el patrón siguiente:

Se crea en la clase en la que se va a trazar una variable estática:

// import org.apache.log4j.Logger;

static final Logger log = Logger.getLogger(Main.class);

El parámetro de getLogger es el objeto class asociado a la clase en la que se va a realizar la traza. A continuación, cuando se quiere dejar traza de algún evento notable se agrega uha llamada al estilo siguiente:

log.info("iniciando aplicación");

...

log.debug("el valor de n=" + n);

Los principales niveles son info, debug y error. Según la como se hayan configurado las trazas se obtendrá en la salida de error o en un archivo los niveles de traza seleccionados.

Enlaces relacionados

Cursos relacionados