lunes, 28 de abril de 2014

Configurando Log4j en Eclipse

Log4j es una biblioteca open source desarrollada en Java por la Apache Software Foundation que permite a los desarrolladores de software elegir la salida o appender (FileAppender, RollingFileAppender, SocketAppender, SMTPAppender, JDBCAppender, ConsoleAppender), el formato o layaout (SimpleLayout, PatternLayout, HTMLLayout, XMLLayout) y el nivel (OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL) de los mensajes o “logs” (data logging) a tiempo de ejecución y no a tiempo de compilación, como es comúnmente realizado, mediante el uso de archivos de configuración externos [1].

Configurando Log4j
La API es de fácil configuración; en este artículo les mostraré la manera de hacerlo a través de un archivo de propiedades de Java llamado log4j.properties. Debemos crear el archivo log4j.properties en la raíz de nuestro proyecto.


Vamos a configurar un archivo de propiedades bajo el siguiente escenario: Los archivos de log se van a ir creando de manera diaria, guardando el log de los 10 últimos días. El tamaño máximo de los archivos de log será de 10 MB y la manera en que éstos serán nombrados, será bajo el patrón [nombre_archivo].yyyy-mm-dd quedando el archivo de configuración tal como se muestra a continuación:
# Log4j configuration file.
log4j.rootCategory=DEBUG,A4,stdout

#
# stdout is ConsoleAppender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=[%d] [%C{1}.%M(%L)] - %-5p - %m%n

#
# A4 is a DailyRollingFileAppender
log4j.appender.A4=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A4.file=D:\\log\\prueba.log
log4j.appender.A4.MaxFileSize=10000KB

#
# Keep three backup files.
log4j.appender.A4.MaxBackupIndex=10
log4j.appender.A4.datePattern='.'yyyy-MM-dd
log4j.appender.A4.append=true
log4j.appender.A4.layout=org.apache.log4j.PatternLayout
log4j.appender.A4.layout.ConversionPattern=[%d] [%c.%M(%L)] - %-5p - %m%n
El código fuente para poder probar la configuración anterior es el siguiente:
import org.apache.log4j.Logger;

public class Main {

 public static void main(String[] args) {
  Logger logger = Logger.getLogger("log_file");
  logger.debug("Hola mundo");
  try {
   int a = 1/0;
   System.out.println(a);
  } catch (Exception e) {
   logger.debug(e);
  }
 }
}
Los archivos de log se deberían ir generando tal como se muestra en la siguiente imagen:


Como pueden ver, modificando el archivo de propiedades, podemos modificar el nivel de errores que se van a ir mostrando, para un pase a producción por ejemplo. El enlace de descarga de la librería es la siguiente: http://www.apache.org/dyn/closer.cgi/logging/log4j/2.0-rc1/apache-log4j-2.0-rc1-bin.tar.gz

Espero que este artículo les sea de utilidad y ya saben, cualquier consulta, no duden en comentarla. No olviden tampoco de seguirnos a través de nuestra página en Facebook.

0 comentarios:

Publicar un comentario