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 파일을 추가
3-2. logback-spring.xml 파일 작성
3-2-1. Appdener 영역
- 로그의 형태를 설정하고 어떤 방법으로 출력 할지를 설정하는 곳
- Appdener의 구조
- 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 적용하기
4-1. 변수의 값을 로그로 출력
728x90
반응형
LIST
'Springboot' 카테고리의 다른 글
[Springboot] 9. 스프링부트 데이터베이스 연동 (0) | 2023.02.08 |
---|---|
[Springboot] 7. 스프링에서 REST API 명세를 문서화하는 방법 - Swagger (0) | 2023.02.08 |
[Springboot] 6. 스프링에서 API를 작성하는 다양한 방법 - DELETE (0) | 2023.02.08 |
[Springboot] 5. 스프링에서 API를 작성하는 다양한 방법 - PUT (0) | 2023.02.08 |
[Springboot] 4. 스프링에서 API를 작성하는 다양한 방법 - POST (0) | 2023.02.08 |
댓글