Log4J

930 views

Published on

En esta simple presentación se explican los conceptos básicos de Log4J.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
930
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Log4J

  1. 1. Log4j (Logging Framework)
  2. 2. Log4j (Logging Framework) Agenda  Introducción a Log4j.  Características.  Diagrama de componentes.  Niveles de trazas.  Appenders.  Layouts.  Filters.  Tipos de configuraciones.
  3. 3. Log4j (Logging Framework) Introducción a Log4j Es una biblioteca open source desarrollada en Java por la Apache Software Foundation que permite a los desarrolladores de software elegir la salida y el nivel de granularidad de los mensajes o “logs” (logging) a tiempo de ejecución y no a tiempo de compilación como es comúnmente realizado. La configuración de salida y granularidad de los mensajes es realizada a tiempo de ejecución mediante el uso de archivos de configuración externos. Log4J ha sido implementado en otros lenguajes como: C, C++, C#, Perl, Python, Ruby y Eiffel.
  4. 4. Log4j (Logging Framework) Características  Diferentes niveles de traza. (Error, información, depurar).  Filtros según categoría.  Redirección de las trazas a diferentes destinos. (A un archivo, a consola, a Base de datos, etc).  Diferentes formatos de visualización. (Visualizar fecha, línea, nombre de la clase, etc).  Configuración por ficheros.
  5. 5. Log4j (Logging Framework) Diagrama de componentes
  6. 6. Log4j (Logging Framework) Niveles Por defecto Log4J tiene 6 niveles de prioridad para los mensajes. Además existen otros dos niveles extras Niveles de prioridad (De mayor -poco detalle- a menor -mucho detalle-):  FATAL: Se utiliza para mensajes críticos del sistema, generalmente después de guardar el mensaje el programa abortará.  ERROR: Se utiliza en mensajes de error de la aplicación que se desea guardar, estos eventos afectan al programa pero lo dejan seguir funcionando, como por ejemplo que algún parámetro de configuración no es correcto y se carga el parámetro por defecto.  WARN: Se utiliza para mensajes de alerta sobre eventos que se desea mantener constancia, pero que no afectan al correcto funcionamiento del programa.  INFO: Se utiliza para mensajes similares al modo "verbose" en otras aplicaciones.  DEBUG: Se utiliza para escribir mensajes de depuración. Este nivel no debe estar activado cuando la aplicación se encuentre en producción.  TRACE: Se utiliza para mostrar mensajes con un mayor nivel de detalle que debug. Extras:  ALL: Este es el nivel de máximo detalle, habilita todos los logs (en general equivale a TRACE).  OFF: Este es el nivel de mínimo detalle, deshabilita todos los logs.
  7. 7. Log4j (Logging Framework) Herencia de Niveles Logger name Assigned level Inherited level root Proot Proot X Px Px X.Y none Px X.Y.Z Pxyz Pxyz Ejemplo 3 Logger name Assigned level Inherited level root Proot Proot X none Proot X.Y none Proot X.Y.Z none Proot Ejemplo 1 Logger name Assigned level Inherited level root Proot Proot X Px Px X.Y Pxy Pxy X.Y.Z Pxyz Pxyz Ejemplo 2 Logger name Assigned level Inherited level root Proot Proot X Px Px X.Y none Px X.Y.Z none Px Ejemplo 4
  8. 8. Log4j (Logging Framework) Appenders En Log4J los mensajes son enviados a una (o varias) salida de destino, lo que se denomina un appender. Existen varios appenders disponibles y configurados, aunque también podemos crear y configurar nuestros propios appenders. Tipos de appenders: - Console - File - Rolling file - GUI - TCP/IP - NT Event log - Unix Syslog daemon - JDBC - SMTP - JMS Casi nunca es utilizado en un entorno de producción la salida a la consola (ConsoleAppender) ya que perdería gran parte de la utilidad de Log4J.
  9. 9. Log4j (Logging Framework) Logger Name Added Appenders Additivity Flag Output Targets Comment Root A1 not applicable A1 x A-x1, A-x2 true A1, A-x1, A-x2 Appenders de "x" y root. x.y none true A1, A-x1, A-x2 Appenders de "x" y root. x.y.z A-xyz1 true A1, A-x1, A-x2, A-xyz1 Appenders en "x.y.z", "x" and root. security A-sec false A-sec Los appenders no se acumulan porque el flag es false. security.access none true A-sec Solo appenders de "security" porque el flag additivity esta en false en "security“.
  10. 10. Log4j (Logging Framework) Layouts Es el responsable de dar un formato de presentación a los mensajes. Permite presentar el mensaje con el formato necesario para almacenarlo simplemente en un archivo de texto .log (SimpleLayout y PatternLayout), en una tabla HTML (HTMLLayout), o en un archivo XML (XMLLayout). Además podemos añadir información extra al mensaje, como la fecha en que se generó, la clase que lo generó, el nivel que posee, etc.
  11. 11. Log4j (Logging Framework) Simbolos %c Logger, %c{2 } last 2 partial names %C Class name (full agony), %C{2 } last 2 partial names %d{dd MMM yyyy HH:MM:ss } Date, format see java.text.SimpleDateFormat %F File name %l Location (caution: compiler-option-dependently) %L Line number %m user-defined message %M Method name %p Level %r Milliseconds since program start %t Threadname %x, %X see Doku %% individual percentage sign Cuidado con estos: %C, %F, %l, %L, %M Estos simbolos son pesados y causan que la aplicación valla mas lento.
  12. 12. Log4j (Logging Framework) Filters Cada appender puede tener varios filtros o ninguno, los cuales se encargan de ejecutar distintas validaciones(o filtros) sobre los mensajes logueados. Además podemos añadir nuestros propios filtros de forma programática. Algunos filtros implementados: - StringMatchFilter - LevelRangeFilter - LevelMatchFilter
  13. 13. Log4j (Logging Framework) Ejemplos Filtros
  14. 14. Log4j (Logging Framework) Tipos de configuraciones  Mediante un archivo de propiedades.  Mediante un archivo XML
  15. 15. Log4j (Logging Framework) Configuración XML
  16. 16. Log4j (Logging Framework) Configuración Archivo Properties

×