log4j - Архитектура

API log4j следует многоуровневой архитектуре, где каждый уровень предоставляет разные объекты для выполнения разных задач. Эта многоуровневая архитектура делает дизайн гибким и легко расширяемым в будущем.

В фреймворке log4j доступны два типа объектов.

  • Core Objects:Это обязательные объекты фреймворка. Они необходимы для использования фреймворка.

  • Support Objects:Это необязательные объекты фреймворка. Они поддерживают основные объекты для выполнения дополнительных, но важных задач.

Основные объекты

Основные объекты включают следующие типы объектов -

Объект регистратора

Уровень верхнего уровня - это регистратор, который предоставляет объект регистратора. Объект Logger отвечает за сбор информации журналов, и они хранятся в иерархии пространства имен.

Макет объекта

Слой макета предоставляет объекты, которые используются для форматирования информации журнала в различных стилях. Он обеспечивает поддержку объектов appender перед публикацией информации журнала.

Объекты макета играют важную роль в публикации информации журналов в удобочитаемом и повторно используемом виде.

Объект Appender

Это более низкий уровень, который предоставляет объекты Appender. Объект Appender отвечает за публикацию информации журнала в различных предпочтительных местах назначения, таких как база данных, файл, консоль, системный журнал UNIX и т. Д.

На следующей виртуальной диаграмме показаны компоненты фреймворка log4J:

Объекты поддержки

В фреймворке log4j есть и другие важные объекты, которые играют жизненно важную роль в фреймворке журналирования:

Объект уровня

Объект Level определяет степень детализации и приоритет любой информации журнала. В API определены семь уровней ведения журнала: OFF, DEBUG, INFO, ERROR, WARN, FATAL и ALL.

Объект фильтра

Объект «Фильтр» используется для анализа информации журнала и принятия дальнейших решений о том, должна ли эта информация регистрироваться или нет.

С объектами Appender может быть связано несколько объектов Filter. Если информация журнала передается определенному объекту Appender, все объекты Filter, связанные с этим Appender, должны утвердить информацию журнала, прежде чем ее можно будет опубликовать в присоединенном месте назначения.

ObjectRenderer

Объект ObjectRenderer специализируется на предоставлении строкового представления различных объектов, передаваемых в платформу ведения журнала. Этот объект используется объектами Layout для подготовки окончательной информации журнала.

LogManager

Объект LogManager управляет структурой ведения журнала. Он отвечает за чтение параметров начальной конфигурации из общесистемного файла конфигурации или класса конфигурации.