Estas en:

Catálogo de servicios
Autentia (PDF 6,2MB)

tríptico de Autentia
En formato comic...

Acceso de usuarios registrados:

Deseo registrarme

He olvidado mis datos de acceso

Registra tu empresa:

Descubre las ventajas de registrar tu empresa en AdictosAlTrabajo...

Registrar mi empresa

Listado de empresas ya registradas

Google

Últimos tutoriales

+Noticias Destacadas

+Comentarios Cómic

  2009-08-28 - 11:17:42 AM
   rcanales escribío:
    Completamente de acuerdo contigo. Yo no se quien hace las cuentas en tu empresa [...]
  2009-08-28 - 07:01:44 AM
   Anonimo escribío:
    pues yo tengo el cuello rigido como una piedra porque el aire acondicionado esta [...]
  2009-07-23 - 10:32:12 PM
   Jaime escribío:
    definitivamente la parte mas divertida es la de programar, y la explotacion lo v [...]
  2009-05-13 - 11:26:33 PM
   williarim escribío:
    Quiero felicitar al autor de estas historietas! Gracias por compartir con todos [...]
  2009-05-13 - 04:40:59 PM
   rcanales escribío:
    Hola Brunoise: Todo tiene perspectiva. El función de tus forma de ser y ver e [...]

+Enlaces


Tutorial desarrollado por

Carlos García Pérez

Creador de MobileTest, un complemento educativo para los profesores y sus alumnos.

Técnico especialista en informática de empresa (CEU)

Ingeniero Técnico en Informática de Sistemas (UPM) *

Puedes encontrarme en Autentia

Catálogo de servicios de Autentia

Descargar (6,2 MB)

Descargar en versión comic (17 MB)

AdictosAlTrabajo.com es el Web de difusión de conocimiento de Autentia.

Catálogo de cursos

Fecha de creación del tutorial: 2008-02-10

Log4J: Cómo crear distintos logs en función de su naturaleza y nivel

Log4J: Cómo crear distintos logs en función de su naturaleza y nivel

Una tarea fundamental en todo proyecto informático es la generación de log o trazas, generalmente para detectar y solucionar los posibles errores que pudieran producirse.

En mi experiencia en este sector he observado que normalmente los programadores dejan sus logs en un archivo mismo archivo independientemente de su naturaleza (entrada/salida, seguridad, interfaz gráfico, etc.) y nivel (debug, info, warn, etc.). Yo particularmente no estoy del todo deacuerdo con esté método. Soy más partidario de crear varios archivos y así no mezclar peras con manzanas. Con esto consigo detectar los problemas más rapidamente, así como para tener mayor flexibilidad a la hora de cambiar los niveles de traceo en determinadas partes de la aplicación según las necesidades.

Una aplicación medianamente bien diseñada organizará sus clases en paquetes en donde las clases tienen algún tipo de relacción semántica.

Por ejemplo, las clases de acceso a datos no deberían estar en el mismo paquete que clases de interfaz gráfica.

En este tutorial vamos a generar 4 archivos de Logs:

  • tuApplicationName.log:
    En este archivo dejaremos todas las salidas de log, independientemente de su naturaleza y nivel.
  • tuApplicationNameErrorFile.log:
    En este archivo dejaremos las salidas de avisos o errores (No los de debug o info) de cualquier parte de la aplicacion.
  • tuApplicationNameErrorFile1.log:
    En este archivo dejaremos las salidas de avisos o errores (No los de debug o info) de cualquier clase del paquete com.autentia.tutoriales.log4j.paquete1 o sus subpaquetes.
  • tuApplicationNameErrorFile2.log:
    En este archivo dejaremos las salidas de avisos o errores (No los de debug o info) de cualquier clase del paquete com.autentia.tutoriales.log4j.paquete2 o sus subpaquetes.

En el paquete com.autentia.tutoriales.log4j.paquete1, agruparíamos las clases con una determinada funcionalidad.

En el paquete com.autentia.tutoriales.log4j.paquete2, agruparíamos las clases con una determinada funcionalidad.

Archivo de configuración de Log4j: autentiaLog4jTutorial.xml

tuApplicationName.log:

2008-02-10 12:01:35 [DEBUG] [com.autentia.tutoriales.log4j.EjemploLog.main(EjemploLog.java:25)] 
Salida DEBUG desde la clase EjemploLog

2008-02-10 12:01:35 [ERROR] [com.autentia.tutoriales.log4j.EjemploLog.main(EjemploLog.java:28)] 
Salida ERROR desde la clase EjemploLog

2008-02-10 12:01:35 [DEBUG] [com.autentia.tutoriales.log4j.paquete1.Clase1.(Clase1.java:18)] 
Salida debug desde la clase 1

2008-02-10 12:01:35 [ERROR] [com.autentia.tutoriales.log4j.paquete1.Clase1.(Clase1.java:20)] 
Salida error desde la clase 1

2008-02-10 12:01:35 [DEBUG] [com.autentia.tutoriales.log4j.paquete2.Clase2.(Clase2.java:17)] 
Salida debug desde la clase 2

2008-02-10 12:01:35 [ERROR] [com.autentia.tutoriales.log4j.paquete2.Clase2.(Clase2.java:19)] 
Salida error desde la clase 2

tuApplicationNameErrorFile.log

2008-02-10 12:01:35 [ERROR] [com.autentia.tutoriales.log4j.EjemploLog.main(EjemploLog.java:28)] 
Salida ERROR desde la clase EjemploLog

2008-02-10 12:01:35 [ERROR] [com.autentia.tutoriales.log4j.paquete1.Clase1.(Clase1.java:20)] 
Salida error desde la clase 1

2008-02-10 12:01:35 [ERROR] [com.autentia.tutoriales.log4j.paquete2.Clase2.(Clase2.java:19)] 
Salida error desde la clase 2

tuApplicationNameErrorFile1.log

2008-02-10 12:01:35 [ERROR] [com.autentia.tutoriales.log4j.paquete1.Clase1.(Clase1.java:20)] 
Salida error desde la clase 1

tuApplicationNameErrorFile2.log

2008-02-10 12:01:35 [ERROR] [com.autentia.tutoriales.log4j.paquete2.Clase2.(Clase2.java:19)] 
Salida error desde la clase 2

Conclusiones

La gestión de trazas es una parte fundamental de toda aplicación, por lo que es recomendable establecer alguna política o pautas al respecto dentro del proyecto.

Recordar que la mayor parte del dinero de un sistema informático se va en mantenimientos, así que un buen sistema de logs nos hará la vida más fácil y nos permitirá ahorrar muchos esfuerzos (dinerito).

Carlos García Pérez. Creador de MobileTest, un complemento educativo para los profesores y sus alumnos.
cgpcosmad@gmail.com

¿Qué te ha parecido el tutorial? Déjanos saber tu opinión y ¡vota!

Muy malo Malo Regular Bueno Muy bueno
 


(Sólo para usuarios registrados)

» Registrate y accede a esta y otras ventajas «

Anímate y coméntanos lo que pienses sobre este tutorial

Puedes opinar o comentar cualquier sugerencia que quieras comunicarnos sobre este tutorial; con tu ayuda, podemos ofrecerte un mejor servicio.


(Sólo para usuarios registrados)

» Registrate y accede a esta y otras ventajas «

Autor Mensaje de usuario registrado

Creative Commons License Esta obra está licenciada bajo licencia Creative Commons de Reconocimiento-No comercial-Sin obras derivadas 2.5

Recuerda

Autentia te regala la mayoría del conocimiento aquí compartido (Ver todos los tutoriales). Somos expertos en: J2EE, Struts, JSF, C++, OOP, UML, UP, Patrones de diseño ... y muchas otras cosas.

¿Nos vas a tener en cuenta cuando necesites consultoría o formación en tu empresa?, ¿Vas a ser tan generoso con nosotros como lo tratamos de ser con vosotros?

Somos pocos, somos buenos, estamos motivados y nos gusta lo que hacemos ...

Autentia = Soporte a Desarrollo & Formación.

info@autentia.com

Tutoriales recomendados

Nombre Resumen
Fecha
Visitas Valoración Votos Pdf
Cómo generar versiones imprimibles de páginas web En este gran océano de textos, imágenes y enlaces que es Internet hay algunas cosas que merecen la pena ser impresas. Estoy seguro de que alguna vez has necesitado imprimir alguna página web y no has podido hacerlo directamente porque la impresión iba a q 2010-02-08 152 - -
JMeter. Uso de funciones. En este tutorial tratamos el uso de las funciones más habituales de la herramienta JMeter. 2010-01-26 465 - -
Introducción a jQuery. jQuery es una librería javascript ligera, rápida y concisa que simplifica el tratamiento de documentos HTML, el manejo de eventos, la creación de animaciones y las interacciones vía Ajax, para agilizar el desarrollo de aplicaciones web. 2010-01-18 832 Bueno 1
Cómo consumir un servicio web RESTful con el soporte de Ajax y JSON de jQuery. En este tutorial vamos a seguir analizando cómo explotar las funcionalidades de jQuery. 2010-01-18 529 - -
jQuery: cómo crear nuestros propios plugins. En este tutorial vamos a ver cómo crear un plugin para jQuery sencillo, para sentar las bases, y otro un poco más elaborado. 2010-01-18 607 - -
Introducción a jQuery UI. En los tutoriales anteriores hemos hecho una introducción a jQuery y hemos visto cómo crear plugins para jQuery. Ahora se trata de seguir ampliando conocimientos, haciendo uso de una librería que se basa en la misma. 2010-01-18 814 - -
Introducción a Tapestry 5 Si estás cansado de programar con frameworks web con los que para hacer un simple holamundo tienes que tirar muchísimas líneas de código de XML o peor sigues trabajando con JSP donde además metes código Java en forma de snippets que son difícil de depurar 2010-01-17 503 - -
JMeter. Gestión de usuarios En este tutorial tratamos la simulación de distintos usuarios, en la herramienta JMeter, mediante el archivo externo users.xml o mediante la función Counter. 2010-01-14 700 - -
JMeter y JSF. Extracción del parámetro ViewState En este tutorial ofrecemos una solución a la parametrización del atributo ViewState, de JSF (Java Server Faces), cuando ejecutamos scripts de pruebas de carga mediante la herramienta JMeter. 2010-01-11 665 - -
Importar el correo de Microsoft Outlook al cliente de correo de Mac OS. En este tutorial vamos a explicar cómo importar el correo de Windows a Mac, del cliente de correo Microsoft Outlook al cliente de correo Apple Mail de Mac OS X 2010-01-07 699 - -

Nota:

Los tutoriales mostrados en este Web tienen como objetivo la difusión del conocimiento. Los contenidos y comentarios de los tutoriales son responsabilidad de sus respectivos autores. En algún caso se puede hacer referencia a marcas o nombres cuya propiedad y derechos es de sus respectivos dueños. Si algún afectado desea que incorporemos alguna reseña específica, no tiene más que solicitarlo. Si alguien encuentra algún problema con la información publicada en este Web, rogamos que informe al administrador rcanales@adictosaltrabajo.com para su resolución.