log4j-아키텍처

log4j API는 각 계층이 서로 다른 작업을 수행하기 위해 서로 다른 객체를 제공하는 계층화 된 아키텍처를 따릅니다. 이 계층화 된 아키텍처는 설계를 유연하고 향후 확장하기 쉽게 만듭니다.

log4j 프레임 워크에서 사용할 수있는 두 가지 유형의 객체가 있습니다.

  • Core Objects:이들은 프레임 워크의 필수 개체입니다. 프레임 워크를 사용하려면 필요합니다.

  • Support Objects:프레임 워크의 선택적 개체입니다. 추가하지만 중요한 작업을 수행하기 위해 핵심 개체를 지원합니다.

핵심 개체

핵심 객체에는 다음 유형의 객체가 포함됩니다.

로거 개체

최상위 계층은 Logger 개체를 제공하는 Logger입니다. Logger 개체는 로깅 정보를 캡처하는 역할을하며 네임 스페이스 계층 구조에 저장됩니다.

레이아웃 개체

레이아웃 레이어는 다양한 스타일로 로깅 정보의 형식을 지정하는 데 사용되는 개체를 제공합니다. 로깅 정보를 게시하기 전에 appender 개체를 지원합니다.

레이아웃 개체는 사람이 읽고 재사용 할 수있는 방식으로 로깅 정보를 게시하는 데 중요한 역할을합니다.

어 펜더 객체

Appender 개체를 제공하는 하위 수준의 레이어입니다. Appender 개체는 데이터베이스, 파일, 콘솔, UNIX Syslog 등과 같은 다양한 선호 대상에 로깅 정보를 게시하는 역할을합니다.

다음 가상 다이어그램은 log4J 프레임 워크의 구성 요소를 보여줍니다.

지원 개체

로깅 프레임 워크에서 중요한 역할을하는 log4j 프레임 워크에는 다른 중요한 개체가 있습니다.

레벨 개체

Level 개체는 로깅 정보의 세분성과 우선 순위를 정의합니다. API에는 OFF, DEBUG, INFO, ERROR, WARN, FATAL 및 ALL의 7 가지 로깅 수준이 정의되어 있습니다.

필터 개체

Filter 개체는 로깅 정보를 분석하고 해당 정보의 로깅 여부에 대한 추가 결정을 내리는 데 사용됩니다.

Appender 개체에는 연결된 여러 필터 개체가있을 수 있습니다. 로깅 정보가 특정 Appender 개체에 전달되는 경우 해당 Appender와 연결된 모든 Filter 개체는 로깅 정보를 승인해야 연결된 대상에 게시 할 수 있습니다.

ObjectRenderer

ObjectRenderer 개체는 로깅 프레임 워크에 전달 된 여러 개체의 문자열 표현을 제공하는 데 특화되어 있습니다. 이 개체는 레이아웃 개체에서 최종 로깅 정보를 준비하는 데 사용됩니다.

LogManager

LogManager 개체는 로깅 프레임 워크를 관리합니다. 시스템 전체 구성 파일 또는 구성 클래스에서 초기 구성 매개 변수를 읽는 역할을합니다.