log4j - Architektura

Log4j API opiera się na architekturze warstwowej, w której każda warstwa udostępnia różne obiekty do wykonywania różnych zadań. Ta warstwowa architektura sprawia, że ​​projekt jest elastyczny i łatwy do rozszerzenia w przyszłości.

We frameworku log4j dostępne są dwa typy obiektów.

  • Core Objects:Są to obowiązkowe obiekty ram. Są zobowiązani do korzystania z frameworka.

  • Support Objects:Są to opcjonalne obiekty frameworka. Obsługują podstawowe obiekty do wykonywania dodatkowych, ale ważnych zadań.

Podstawowe obiekty

Podstawowe obiekty obejmują następujące typy obiektów -

Obiekt rejestratora

Warstwa najwyższego poziomu to Logger, który udostępnia obiekt Logger. Obiekt Logger jest odpowiedzialny za przechwytywanie informacji logowania i są one przechowywane w hierarchii przestrzeni nazw.

Obiekt układu

Warstwa układu zawiera obiekty używane do formatowania informacji rejestrowania w różnych stylach. Zapewnia obsługę obiektów dołączających przed opublikowaniem informacji logowania.

Obiekty układu odgrywają ważną rolę w publikowaniu informacji logowania w sposób czytelny dla człowieka i nadający się do ponownego wykorzystania.

Appender Object

Jest to warstwa niższego poziomu, która udostępnia obiekty Appender. Obiekt Appender jest odpowiedzialny za publikowanie informacji logowania w różnych preferowanych miejscach docelowych, takich jak baza danych, plik, konsola, UNIX Syslog itp.

Poniższy diagram wirtualny przedstawia komponenty frameworka log4J:

Obiekty wsparcia

Istnieją inne ważne obiekty we frameworku log4j, które odgrywają istotną rolę w strukturze rejestrowania:

Obiekt poziomu

Obiekt Level definiuje szczegółowość i priorytet wszelkich informacji rejestrowanych. Istnieje siedem poziomów rejestrowania zdefiniowanych w API: OFF, DEBUG, INFO, ERROR, WARN, FATAL i ALL.

Filtruj obiekt

Obiekt Filter służy do analizowania informacji logowania i podejmowania dalszych decyzji, czy te informacje powinny być rejestrowane, czy nie.

Z obiektami Appender może być skojarzonych kilka obiektów Filter. Jeśli informacje rejestrowania są przekazywane do określonego obiektu Appender, wszystkie obiekty filtru skojarzone z tym Appender muszą zatwierdzić informacje rejestrowania, zanim będzie można je opublikować w dołączonym miejscu docelowym.

ObjectRenderer

Obiekt ObjectRenderer specjalizuje się w dostarczaniu reprezentacji String różnych obiektów przekazywanych do struktury rejestrowania. Ten obiekt jest używany przez obiekty Layout do przygotowania ostatecznych informacji logowania.

LogManager

Obiekt LogManager zarządza strukturą rejestrowania. Odpowiada za odczyt początkowych parametrów konfiguracyjnych z ogólnosystemowego pliku konfiguracyjnego lub klasy konfiguracyjnej.