Logback.xml 로깅 프레임워크란 무엇입니까? ConsoleAppender, FileAppender 및 RollingFileAppender 예제

게시 됨: 2019-02-13
Logback.xml 로깅 프레임워크란 무엇입니까? ConsoleAppender, FileAppender 및 RollingFileAppender 자습서

Logback Logging Framework 를 알고 계십니까? 글쎄, 대부분의 사람들은 주로 log4j and slf4j 를 프로젝트에 사용합니다. 지난 6개월부터 저는 Logback.xml 로깅 프레임워크를 사용해 왔으며 프로덕션 애플리케이션에서 상당한 성능 향상을 보았습니다.

이 튜토리얼에서는 Logback 로깅 프레임워크의 실제 예를 살펴보겠습니다.

logback.qos.ch는 무엇입니까?

Logback은 일종의 Log4j의 새 버전입니다. log4j 개발이 중단된 곳에서 개발되었습니다.

Logback 로깅 프레임워크 세부 정보

관심이 있는 경우 Crunchify에서 Log4j에 대한 여러 자습서를 게시했습니다.

  • 자신의 log4j 로깅 수준을 설정하는 방법은 무엇입니까?
  • log4j.properties를 구성하는 방법은 무엇입니까?

여기에서는 Enterprise Java 프로젝트용 Logback Logging Framework를 설정하는 방법에 대한 모든 세부 단계를 살펴보겠습니다. 아래에 새 파일을 만들 것입니다.

  1. 리소스 폴더 logback.xml 파일 아래
  2. 자바 클래스 CrunchifyLogbackLogging.java

시작하자

Step-1 logback.xml 파일 생성

먼저 logback.xml 파일을 이해합시다.

  • 파일 맨 아래에 root 요소 아래에 3개의 추가 참조가 appender-ref 가 있는 것을 볼 수 있습니다.
  • 로그 수준을 DEBUG 로 사용하고 있습니다. 즉, DEBUG 레벨 이상으로 모든 것을 인쇄하십시오.

CRUNCHIFYOUT 어펜더는 ch.qos.logback.core 클래스입니다. ConsoleAppender . 즉, 모든 로깅 데이터가 Eclipse 콘솔에 인쇄됩니다.

CRUNCHIFYFILE 은 ch.qos.logback.core 유형입니다. FileAppender . 즉, 모든 로깅 데이터도 localfile에 인쇄됩니다. 우리의 경우 /Users/ ashah /Documents/ crunchify.log 입니다.

CRUNCHIFYROLLING 은 ch.qos.logback.core.rolling 유형 입니다. RollingFileAppender . RollingPolicy에서 볼 수 있듯이 우리는 매일 파일을 롤링하고 최대 10개의 파일을 유지합니다. 또한 이 예에서는 총 파일 크기 용량 제한이 1 GB 입니다. /Users/ ashah /Documents/ crunchify -rolling.log -rolling.log 위치에 새 파일이 생성됩니다 .

Step-2 테스트를 위한 자바 프로그램을 작성합니다.

이것은 오류, 정보, 디버그를 사용하고 4가지 로깅 수준을 모두 경고하는 매우 간단한 Java 테스트 클래스입니다. 우리는 10번 반복합니다.

3단계

위의 프로그램을 실행하면 위에서 언급한 것처럼 logback 프레임워크가 두 개의 새 파일을 생성합니다.

Eclipse 콘솔을 확인하십시오. 아래 로그가 표시됩니다.

그 외에도 로컬 파일 로그를 확인할 수 있으며 logback.xml 파일은 모든 새 파일을 생성하고 그 안에 로그를 인쇄하기 시작했습니다.

Logback.xml 파일은 새 파일 첨부 파일을 생성합니다.

즐감하세요. logback.xml과 3개의 appender(ConsoleAppender, FileAppender, RollingFileAppender)를 모두 올바르게 설정했습니다.

보너스 포인트:

FixedWindowRollingPolicyRollingFileAppender 를 설정하시겠습니까? 아래의 appender를 잘 사용하고 logback.xml 파일에 넣으면 모든 것이 좋습니다.

또한 루트 요소 아래에 appender-ref를 추가하기만 하면 됩니다.