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
Si se quiere que alguna categoría en concreto sea direccionada a otro appender, definiremos para esa categoría su appender
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:
Solo queda configurar cada uno de ellos.
Configurar el ConsoleAppenderPara 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
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.
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.
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.
Como siempre le decimos al appender de que tipo es
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)
* 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.
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
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.