본문 바로가기
Springboot

[Springboot] 8. 스프링부트 로깅 라이브러리 설정 - Logback

by 상도동개발자 2023. 2. 8.
SMALL

1. 로깅이란?

- 로깅이란 애플리케이션이 동작하는 동안 시스템의 상태나 동작정보를 기록하는것을 의미

- 가장 많이 사용되는 로깅 프레임워크는 Logback

 

2. Logback의 특징

2-1. 크게 5개의 로그 레벨이 설정 가능( TRACE > DEBUG > INFO > WARN > ERROR)

로그 레벨 설명
ERROR 로직 수행 중에 시스템에 심각한 문제가 발생해서 애플리케이션의 작동이 불가능한 경우를 의미
WARN 시스템 에러의 원인이 될 수 있는 경고 레벨을 의미
INFO 애플리케이션의 상태 변경과 같은 정보 전달을 위해 사용
DEBUG 애플리케이션의 디버깅을 위한 메시지를 표시하는 레벨을 의미
TRACE DEBUG 레벨보다 더 상세한 메시지를 표현하기 위한 레벨을 의미

 

3. Logback 설정

3-1. 일반적으로 클래스패스(classpath)에 설정파일을 자동으로 참조하므로 resource/logback-spring.xml 파일을 추가

logback 설정 파일 추가

3-2. logback-spring.xml 파일 작성

logback 설정

3-2-1. Appdener 영역

- 로그의 형태를 설정하고 어떤 방법으로 출력 할지를 설정하는 곳

- Appdener의 구조

Logback Appender의 구조

- Appender 옵션

옵션 설명
ConsoleAppender 콘솔에 로그 출력
FileAppender 파일에 로그를 저장
RollingFileAppender 여러 개의 파일을 순회하면서 로그를 저장
SMTPAppender 메일로 로그를 전송
DBAppender 데이터베이스에 로그를 저장

- encoder 패턴

패턴 설명
%Logger{length} 로거의 이름
$-5Level 로그 레벨, -5는 출력 고정폭의 값
%msg(%message) 로그 메시지
%d 로그 기록 시간
%p 로깅 레벨
%F 로깅이 발생한 애플리케이션 파일명
%m 로깅이 발생한 메서드 이름
%I 로깅이 발생한 호출지의 정보
%thread 현재 스레드명
%t 로깅이 발생한 스레드명
%c 로깅이 발생한 카테고리
%C 로깅이 발생한 클래스명
%m 로그 메시지
%n 줄바꿈
%r 애플리케이션 실행 후 로깅이 발생한 시점까지의 시간
%L 로깅이 발생한 호출 지점의 라인 수

3-2-2. Root 영역

- 설정 파일에 정의된 Appender를 활용하려면 Root 영역에서 Appender를 참조해서 로깅 레벨을 설정합니다.

 

4. Logback 적용하기

Logger 선언
LOGGER 사용

4-1. 변수의 값을 로그로 출력

@PathVariable을 이용하여 변수값을 로그로 출력

728x90
반응형
LIST

댓글