log4j - Arquitectura
La API de log4j sigue una arquitectura en capas donde cada capa proporciona diferentes objetos para realizar diferentes tareas. Esta arquitectura en capas hace que el diseño sea flexible y fácil de ampliar en el futuro.
Hay dos tipos de objetos disponibles con el marco log4j.
Core Objects:Estos son objetos obligatorios del marco. Deben utilizar el marco.
Support Objects:Estos son objetos opcionales del marco. Apoyan los objetos centrales para realizar tareas adicionales pero importantes.
Objetos centrales
Los objetos principales incluyen los siguientes tipos de objetos:
Objeto registrador
La capa de nivel superior es el registrador que proporciona el objeto registrador. El objeto Logger es responsable de capturar la información de registro y se almacena en una jerarquía de espacio de nombres.
Objeto de diseño
La capa de diseño proporciona objetos que se utilizan para formatear la información de registro en diferentes estilos. Proporciona soporte a los objetos añadidos antes de publicar la información de registro.
Los objetos de diseño juegan un papel importante en la publicación de información de registro de una manera que sea legible y reutilizable.
Objeto de adición
Esta es una capa de nivel inferior que proporciona objetos Appender. El objeto Appender es responsable de publicar información de registro en varios destinos preferidos, como una base de datos, un archivo, una consola, UNIX Syslog, etc.
El siguiente diagrama virtual muestra los componentes de un marco log4J:
Objetos de apoyo
Hay otros objetos importantes en el marco log4j que juegan un papel vital en el marco de registro:
Objeto de nivel
El objeto Level define la granularidad y la prioridad de cualquier información de registro. Hay siete niveles de registro definidos dentro de la API: OFF, DEBUG, INFO, ERROR, WARN, FATAL y ALL.
Objeto de filtro
El objeto Filtro se utiliza para analizar la información de registro y tomar decisiones adicionales sobre si esa información debe registrarse o no.
Un objeto Appender puede tener varios objetos Filter asociados con ellos. Si la información de registro se pasa a un objeto de Appender en particular, todos los objetos de filtro asociados con ese Appender deben aprobar la información de registro antes de que pueda publicarse en el destino adjunto.
ObjectRenderer
El objeto ObjectRenderer está especializado en proporcionar una representación de cadena de diferentes objetos pasados al marco de registro. Los objetos Layout utilizan este objeto para preparar la información de registro final.
LogManager
El objeto LogManager gestiona el marco de registro. Es responsable de leer los parámetros de configuración inicial de un archivo de configuración de todo el sistema o una clase de configuración.