728x90
[ Logging ]
- 01 스프링 Logging
항목 | 세부 내용 |
Error | 메시지, 스택 추적, 에러 발생했을 때 애플리케이션이 실행하고 있던 작업 |
Debugging | 디버깅시 필요한 세부 추적 정보. 적용되는 변수 값, 메서드 등 실행에 대한 세부 정보 |
주요 이벤트 | 로그에 저장하고 싶은 중요 이벤트. 엔티티 생성, 유저 로그인 성공, 작업 실행 등 |
- 어디에 기록할 것인가 ?
- 어떻게 기록할 것인가 - 로깅 레벨
항목 | 세부 내용 |
ERROR | 즉시 대응해야 할 에러 레벨 로그, 대응하지 않을 경우, 애플리케이션 동작 중지 등 심각한 장애를 겪을 수 있음. |
WARN | 상황에 따라 잠재적으로 위험할 수 있을 때, 예외 처리 등 |
INFO | 로그에 저장하고 싶은 중요 애플리케이션 이벤트, 운영 참고 정보 |
DEBUG | 개발 단계에서 사용, 디버깅이 가능하도록 상세한 내용이 출력됨. |
TRACE | 개발 단계에서 사용. DEBUG 레벨보다 상세. 모든 레벨 로그가 출력 |
항목 | 세부 내용 |
콘솔 | 직관적. 애플리케이션 종료 혹은 콘솔 버퍼를 초과하면 내용이 휘발될 수 있음. |
파일 | 로그가 휘발되지 않고 저장됨. 눈으로 읽기는 쉽지만 프로그래밍처럼 패턴화 된 방식으로 필터링해서 보기에는 다른 방법보다 어려움이 따름. |
이메일/문자 (SMTP/SMS) |
즉시 조치를 취해야하는 등의 심각한 오류나 이벤트 시에는 관리자에게 알람이 가도록 설정 |
데이터베이스 | 로그 필터링이 쉽고 효율적. 파일보다 기록 속도가 느리고 로깅 양이 많을 때 부하가 발생할 수 있지만 NoSQL 데이터베이스(MongoDB 등)에 저장한다면 대부분의 문제가 해결됨. |
- 퀴즈 내용 요약
- 02 Spring Boot 의 로깅
logging.level.root=warn logging.level.org.springframework.web=debug logging.level.org.hibernate=error |
- application.properties 설정에 따라 logging level을 조정할 수 있음
- 위 코드에 따르면 하이버네이트에서 워닝이 일어나도 error 레벨 이상의 로그만 남는다.
( 즉 error로그만 남음 )
- Logback : SLF4J ( Simple Logging Fecade for Java ) 의 구현체
- SLF4J ( Simple Logging Facade for Java )
- SLF4J(simple Logging Facade for Java) 의 구현체인 Logback
- 로깅에 대한 설명 : 퀴즈 내용 요약
- 03 Logback 설정하기
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.GetMapping; @RestController public class PostController { //... 코드 생략 private static final Logger log = LoggerFactory.getLogger(Log.class); @GetMapping("/logging") public void logs() { log.info("info message default 인포레벨 메시지입니다."); } |
- Lombok을 사용해 로깅 어노테이션
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.GetMapping; @Slf4j @RestController public class PostController { private final PostService postService; public PostController(PostService postService) { this.postService = postService; } |
추천인 코드 : o6i4B3y95 : 앨리스트랙 참여 링크
#엘리스트랙 #엘리스트랙후기 #온라인코딩부트캠프 #온라인코딩학원 #백엔드학원 #개발자국비지원 #개발자부트캠프 #국비지원부트캠프 #DOCKER #백엔드 #자바스프링 #스프링강의 #백엔드인강 #RESTAPI #스프링개발자
728x90
'Elice --Cloud--Track > 4~7 주차' 카테고리의 다른 글
7주차 블로그 챌린지 - 1차 스터디 팀 발표 (1) | 2024.01.07 |
---|---|
5주차 블로그 챌린지 - Spring Framework (3) - JDBC (0) | 2023.12.24 |
5주차 블로그 챌린지 - Spring FrameWork (2) (0) | 2023.12.24 |
5주차 블로그 챌린지 -Spring Framework (0) | 2023.12.24 |
5주차 블로그 챌린지 -js (0) | 2023.12.24 |