log4j-로그 형식화

Apache log4j는 다양한 Layout각 개체는 다양한 레이아웃에 따라 로깅 데이터의 형식을 지정할 수 있습니다. 애플리케이션 별 방식으로 로깅 데이터의 형식을 지정하는 레이아웃 개체를 생성 할 수도 있습니다.

모든 레이아웃 개체는 LoggingEvent 개체에서 Appender사물. 그런 다음 Layout 객체는 LoggingEvent에서 메시지 인수를 검색하고 적절한 ObjectRenderer를 적용하여 메시지의 문자열 표현을 얻습니다.

레이아웃 유형

계층 구조의 최상위 클래스는 추상 클래스입니다. org.apache.log4j.Layout. 이것은 log4j API의 다른 모든 레이아웃 클래스에 대한 기본 클래스입니다.

Layout 클래스는 애플리케이션 내에서 추상으로 정의되며이 클래스를 직접 사용하지 않습니다. 대신 다음과 같은 하위 클래스로 작업합니다.

  • DateLayout

  • HTMLLayout

  • PatternLayout.

  • SimpleLayout

  • XMLLayout

레이아웃 방법

이 클래스는 다른 모든 Layout 객체에 대한 모든 공통 작업의 골격 구현을 제공하고 두 개의 추상 메서드를 선언합니다.

Sr. 아니. 방법 및 설명
1 public abstract boolean ignoresThrowable()

로깅 정보가 로깅 이벤트의 일부로 전달 된 java.lang.Throwable 객체를 처리하는지 여부를 나타냅니다. Layout 객체가 Throwable 객체를 처리하는 경우 Layout 객체는이를 무시하지 않고 false를 반환합니다.

2 public abstract String format(LoggingEvent event)

개별 레이아웃 하위 클래스는 레이아웃 특정 형식을 위해이 메서드를 구현합니다.

이러한 추상 메서드 외에도 Layout 클래스는 아래 나열된 메서드에 대한 구체적인 구현을 제공합니다.

Sr. 아니. 방법 및 설명
1 public String getContentType()

레이아웃 개체에서 사용하는 콘텐츠 유형을 반환합니다. 기본 클래스는 기본 콘텐츠 유형으로 text / plain을 반환합니다.

2 public String getFooter()

로깅 메시지의 바닥 글 정보를 지정합니다.

public String getHeader()

로깅 메시지의 헤더 정보를 지정합니다.

각 하위 클래스는 이러한 메서드의 구체적인 구현을 재정 의하여 클래스 별 정보를 반환 할 수 있습니다.