[TIL-Logback] 로깅 라이브러리

이용준·2023년 5월 24일
0

TIL

목록 보기
17/21
  • 로깅(Logging) : 애플리케이션 동작하는 동안의 시스템 상태와 동작 정보를 시간순으로 기록하는 것
    - 개발 영역 중中 비기능 요구사항 (사용자 혹은 고객에게는 불필요)

  • Logback은 log4j 이후 출시되었으며, slf4j 기반으로 구현됨.

  • 별도의 의존성 추가 불필요


Logback 특징

  1. 로그 레벨
    1. ERROR : 시스템에서 심각한 문제 발생
    2. WARN : 경고 레벨
    3. INFO : 정보 전달 목적
    4. DEBUG : 디버깅 위한 메시지 표현
    5. TRACE : DEBUG 보다 상세한 메시지 표현
  2. 자체적으로 로그 파일 압축 가능
  3. 저장된 로그 파일에 대한 보관 기간 등 설정 관리 가능

Log 영역

  1. Property
  2. Appender (중요)
  3. Encoer
  4. Pattern
  5. Root(중요)

1. Appender 영역

  • 로그 형태 및 출력 방식 설정
  • Appender는 하나의 인터페이스 의미
  • 하위 여러 구현체 존재

Appender 구조

LogBack의 Appender 구조
  1. ConsoleAppender : 콘솔에 로그 출력

  2. FileAppender : 파일에 로그 저장

  3. RollingFileAppender : 여러 파일 순회하며 로그 저장

  4. SMTPAppender : 메일에 로그 전송

  5. DBAppender : DB에 로그 저장

    encoder 요소를 통해 로그 표현 형식을 패턴(pattern)으로 정의

    • 로그 형식의 예
    <pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%htread] %logger %msg%n</pattern>

2.Root 영역

  • Appender 참조해 로깅 레벨 설정

Logger 선언

@RestController
@RequestMapping("/api")
public class GetController{

	private final Logger LOGGER = LoggerFactory.getLogger(GetController.class);


	...

	public String getHello(){
		LOGGER.info("-------getHello 메서드 호출------");
		return "Hello World";
	}

}
profile
뚝딱뚝딱

0개의 댓글