log4j - Formato de registro
Apache log4j proporciona varios Layoutobjetos, cada uno de los cuales puede formatear los datos de registro de acuerdo con varios diseños. También es posible crear un objeto Diseño que formatee los datos de registro de una manera específica de la aplicación.
Todos los objetos Layout reciben un LoggingEvent objeto del Appenderobjetos. Los objetos Layout luego recuperan el argumento del mensaje del LoggingEvent y aplican el ObjectRenderer apropiado para obtener la representación de cadena del mensaje.
Los tipos de diseño
La clase de nivel superior en la jerarquía es la clase abstracta org.apache.log4j.Layout. Esta es la clase base para todas las demás clases de diseño en la API log4j.
La clase Layout se define como abstracta dentro de una aplicación, nunca usamos esta clase directamente; en cambio, trabajamos con sus subclases que son las siguientes:
DateLayout
SimpleLayout
XMLLayout
Los métodos de diseño
Esta clase proporciona una implementación esquemática de todas las operaciones comunes en todos los demás objetos Layout y declara dos métodos abstractos.
No Señor. | Métodos y descripción |
---|---|
1 | public abstract boolean ignoresThrowable() Indica si la información de registro maneja algún objeto java.lang.Throwable que se le haya pasado como parte del evento de registro. Si el objeto Layout maneja el objeto Throwable, entonces el objeto Layout no lo ignora y devuelve falso. |
2 | public abstract String format(LoggingEvent event) Las subclases de diseño individuales implementan este método para el formato específico del diseño. |
Aparte de estos métodos abstractos, la clase Layout proporciona una implementación concreta para los métodos que se enumeran a continuación:
No Señor. | Métodos y descripción |
---|---|
1 | public String getContentType() Devuelve el tipo de contenido utilizado por los objetos Layout. La clase base devuelve texto / sin formato como tipo de contenido predeterminado. |
2 | public String getFooter() Especifica la información de pie de página del mensaje de registro. |
3 | public String getHeader() Especifica la información del encabezado del mensaje de registro. |
Cada subclase puede devolver información específica de la clase anulando la implementación concreta de estos métodos.