Log4j: Configuración de Appenders – Java

Appender

Un Appender, en Log4j, es el responsable de determinar el destino y el formato de la escritura de los mensajes de un log, entre otras funciones. En practica pueden existir varias salidas del log, tales como la consola, un fichero tipo texto (en local o en remoto), una base de datos, un correo electrónico, etc.

Para determinar el tipo de salida, existen varios appenders disponibles en Log4j ya preconfigurados, aunque también podemos configurar los nuestros.

Tipos de Appenders:

  • ConsoleAppender: La salida por defecto del log es la consola.
  • FileAppender: redirecciona la salida a un fichero
  • RollingFileAppender: redirecciona los mensajes de logs hacia un archivo y permite definir politicas de rotación para que el archivo no crezca indefinidamente.
  • DailyRollingFileAppender: redirecciona los mensajes de logs hacia un archivo y permite definir políticas de rotación basados en fechas (‘.’yyyy-MM: cada mes, ‘.’yyyy-ww: cada semana, ‘.’yyyy-ww-dd: cada día, ‘.’yyyy-ww-dd-a: cada medio día, ‘.’yyyy-ww-dd-HH: cada hora y ‘.’yyyy-ww-dd-HH-mm: cada mimuto).
  • SocketAppender: Redirecciona los mensajes de logs hacia un servidor remoto de log.
  • SMTPAppender: Envia un mail con los mensajes de logs, típicamente se utiliza para los niveles ERROR y FATAL.
  • JDBCAppender: redirecciona los mensajes de log hacia una base de datos.
  • SyslogAppender: es un SocketAppender que Redirecciona el log a un demonio remoto syslog en Unix.
  • NTEventlogAppender: redirecciona los mensajes de logs hacia los logs del sistema de NT.
  • JMSAppender: serializa los eventos y los transmite como un mensaje JMS tipo ObjectMessage.

El ConversionPattern – Modelo/formato de conversión:

Suponemos la instrucción siguiente:

log4j.appender.fileAppender.layout.ConversionPattern=%d [%t] %-5p %c – %m%n

La clase ConversionPattern nos permite formatear (dar formato) a un evento del log basándose sobre un patrón de conversión similar al patrón de conversión de la función “printf” del lenguaje C.

  • %d: se usa para formatear la fecha del evento del log (por defecto esta preconfigurado con: yyyy-MM-dd HH:mm:ss,SSS). También podemos especificar en detalle el formato de fecha entre llaves. Por ejemplo: %d{HH:mm:ss,SSS} or %d{dd MMM yyyy HH:mm:ss,SSS}
  • %t: sirve para mostrar el nombre del hilo (thread) que ha generado el evento del log.
  • %p: para mostrar el nivel prioridad del evento. %-5p: indica que reservaremos 5 caracteres alineados a la izquierda para la cadena del nivel de prioridad.
  • %c: la categoría del mensaje. Por ejemplo: miproyecto.parking.package.model.Vehiculo
  • %m: mensaje del evento del log.
  • %M: muestra el método que ha solicitado (llamado) al log.
  • %n: salto de línea.

Para más información sobre los caracteres de conversión mira la documentación oficial de apache en el siguiente enlace.

Deja un comentario