Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Thymeleaf
- Greedy
- 자바
- 백준
- db
- jpa
- spring
- http
- 스프링
- Android
- 그리디
- transaction
- SpringBoot
- 스프링 핵심 기능
- pointcut
- kotlin
- 알고리즘
- AOP
- springdatajpa
- 스프링 핵심 원리
- JDBC
- JPQL
- Exception
- Proxy
- Spring Boot
- 인프런
- Servlet
- 김영한
- QueryDSL
- java
Archives
- Today
- Total
개발자되기 프로젝트
로그 추적기 - 요구사항 분석 본문
1. 로그 추적기를 만들어 보자.
- 애플리케이션이 커지면서 점점 모니터링과 운영이 중요해지는 단계라고 가정.
- 특히 최근 자주 병목이 발생하고있다고 해보자.
- 어떤 부분에서 병목이 발생하는지, 그리고 어떤 부분에서 예외가 발생하는지를 로그를 통해 확인하는
것이 점점 중요할 것이다. - 기존에는 개발자가 문제가 발생한 다음에 관련 부분을 어렵게 찾아서 로그를 하나하나 직접 만들어서
남겼는데 이 부분을 개선하고 자동화 해보자.
2. 요구사항
- 모든 PUBLIC 메서드의 호출과 응답 정보를 로그로 출력
- 애플리케이션의 흐름을 변경하면 안됨
- 로그를 남긴다고 해서 비즈니스 로직의 동작에 영향을 주면 안됨
- 메서드 호출에 걸린 시간
- 정상 흐름과 예외 흐름 구분
- 예외 발생시 예외 정보가 남아야 함
- 메서드 호출의 깊이 표현
- HTTP 요청을 구분
- HTTP 요청 단위로 특정 ID를 남겨서 어떤 HTTP 요청에서 시작된 것인지 명확하게 구분이 가능해야
함 - 트랜잭션 ID (DB 트랜잭션X), 여기서는 하나의 HTTP 요청이 시작해서 끝날 때 까지를 하나의
트랜잭션이라 함
3. 예시
정상 요청
[796bccd9] OrderController.request()
[796bccd9] |-->OrderService.orderItem()
[796bccd9] | |-->OrderRepository.save()
[796bccd9] | |<--OrderRepository.save() time=1004ms
[796bccd9] |<--OrderService.orderItem() time=1014ms
[796bccd9] OrderController.request() time=1016ms
예외 발생
[b7119f27] OrderController.request()
[b7119f27] |-->OrderService.orderItem()
[b7119f27] | |-->OrderRepository.save()
[b7119f27] | |<X-OrderRepository.save() time=0ms
ex=java.lang.IllegalStateException: 예외 발생!
[b7119f27] |<X-OrderService.orderItem() time=10ms
ex=java.lang.IllegalStateException: 예외 발생!
[b7119f27] OrderController.request() time=11ms
ex=java.lang.IllegalStateException: 예외 발생!
'인프런 > [인프런] 스프링 핵심 원리 - 고급' 카테고리의 다른 글
로그 추적기 V2 - 적용 (0) | 2021.11.20 |
---|---|
로그 추적기 V2 - 파라미터로 동기화 개발 (0) | 2021.11.20 |
로그 추적기 V1 - 적용 (0) | 2021.11.19 |
로그 추적기 v1 - 프로토 타입 (0) | 2021.11.18 |
예제 프로젝트 - v0 (0) | 2021.11.18 |
Comments