Está usted en Indice > Construcción > Lenguajes > Java > Lecciones y Paso a Paso > Sistemas de trazas en Java
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Sistemas de trazas en Java (3)

Appenders

Una vez establecido el nivel de trazas de nuestro código hay que configurar donde queremos que nuestras trazas sean escritas o direccionadas. Las opciones más utilizadas son a la consola y los archivos de texto, pero Log4j también puede escribir las trazas en base de datos, en una cola de mensajes JMS o en el visor de sucesos de Microsoft Windows.

Veamos como se configurarían los appenders:

Lo primero de todo es definir los nombre de los appenders que se van a utilizar en la propiedad log4j.rootLogger. Recordad que en esta propiedad se fijaba el nivel de traza por defecto y seguido y separados por coma, el nombre de los appenders que se van a usar. Al fijar estos appenders en la categoría principal, todas las trazas de la aplicación serán direccionadas a ellos


log4j.rootLogger=DEBUG, Consola, Fichero

Si se quiere que alguna categoría en concreto sea direccionada a otro appender, definiremos para esa categoría su appender


log4j.Logger.categoriaComponente=INFO, FicheroComponente

Si se realiza este tipo de configuración hay que tener en cuenta que los appenders por defecto son heredados. Log4j utiliza para hablar de esta propiedad el termino "additivity" de appenders.

Para el ejemplo anterior, las trazas escritas para la categoría categoriaComponente, serán direccionadas al appender FicheroComponente, Fichero y Consola, ya que Fichero y Consola son heredados por defecto desde la categoría ROOT.

Si no se desea heredar los appenders, hay que definir la siguiente propiedad en el fichero de configuración:


log4j.logger.append.categoriaComponente=false

Solo queda configurar cada uno de ellos.

Configurar el ConsoleAppender

Para configurar el aprender Consola, lo primero que hay que decirle es el tipo de aprender que es, en este caso de consola, por lo que hay que escribir la siguiente propiedad


log4j.appender.Consola=org.apache.log4j.ConsoleAppender

Lo siguiente será configurar el nivel de traza, ya que cada aprender puede tener uno distinto. Por ejemplo, es bastante común poner la salida a fichero con nivel DEBUG y la salida de consola con nivel INFO.


log4j.appender.Consola.Threshold=INFO

Para acabar con la configuración de la salida, asignamos el appender a un stream. Ya que lo que se busca es escribir en consola, se fija la salida a System.out.


log4j.appender.Consola.Target=System.out

La configuración de un appender para fichero sería muy parecida. Primero se le dice al appender que es de tipo fichero. Existen varios tipos de appender a fichero, los más comunes son RollingFileAppender y DailyRollingFileAppender

  • El primero escribe las trazas en un fichero de tamaño máximo configurable. Cuando se llega a ese tamaño, el fichero se renombra a nombreFichero.ext.1, y se continúan escribiendo las trazas en un nuevo fichero nombreFichero.ext.

    Cuando este llegue a su tamaño máximo se renombrara a nombreFichero.ext.1 y el que era nombreFichero.ext.1 pasa a ser nombreFichero.ext.2. Así continuamente, van "rotando" los ficheros, de hay su nombre de RollingFileAppender. En caso de que se llegue al número máximo de ficheros, se borrara el fichero más antiguo.

  • El segundo escribe las trazas en un fichero diario, al acabar el día, Log4j crea un nuevo fichero
Configurar un RollingFileAppender

Como siempre le decimos al appender de que tipo es


log4j.appender.Fichero= org.apache.log4j.RollingFileAppender

Le decimos la ruta donde se va a crear el fichero, tomando como raíz el lugar donde se encuentre el fichero. También se puede utilizar una ruta completa (c://log/trazas.log o en UNIX /usr/log/trazas.log)


log4j.appender.Fichero.File=./log/Trazas.log

* Me llevo bastante mal con esta propiedad, muchas veces me veo obligado a escribir la ruta completa para que las trazas se escriban en el fichero.

Por ultimo configuramos el tamaño máximo del fichero, y el número máximo de ficheros que van a rotar.


log4j.appender.Fichero.MaxFileSize=500KB
log4j.appender.Fichero.MaxBackupIndex=10

Con esta configuración tendremos 5 megas de trazas.



Usuarios que han visto este tema también han visto...

- Generar un archivo ejecutable con Java
- Entrada y Salida estándar en Java
- Mouse motion adapter en Java
- Incorporando RSS Feeds a Web Apps basados en JSP utilizando JSP Tags
- Obtener información de clases Java en aplicaciones web


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 25-05-2012 a las 22:03:53