Учебники

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

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

Есть два типа объектов, доступных с каркасом log4j.

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

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

Основные объекты: это обязательные объекты фреймворка. Они обязаны использовать рамки.

Объекты поддержки: это необязательные объекты каркаса. Они поддерживают основные объекты для выполнения дополнительных, но важных задач.

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

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

Объект Logger

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

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

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

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

Объект Appender

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

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

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

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

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

Уровень объекта

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

Фильтровать объект

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

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

ObjectRenderer

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

LogManager

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