[Logging] 로그 출력을 효율적으로 생성 및 추적하기 5편 - Template Method
·
Spring/Logging
이전 문제점각각의 Controller, Service, Repository에서 주요 비즈니스 로직(CRUD)이 있고, 이 활동을 확인하기 위한 부가 기능인 로깅 출력 기능을 구현했다.부가기능과 핵심 기능이 한 군데 모여 있어 가독성이 떨어지고, 코드가 복잡해지면 유지 보수하기가 어려워진다는 문제점이 발생한다.핵심 기능과 부가 기능을 분리하여 설계하는 것이 디자인적으로 더 좋은 설계라고 할 수 있다.try{ answer = userService.create(name); //핵심 기능 trace.end(status); //부가기능 }catch (Exception e){ trace.exception(status, e); //부가기능 ..
[Logging] 로그 출력을 효율적으로 생성 및 추적하기 2편
·
Spring/Logging
Logging Trace V2목차TraceV2TraceId에서 추가된 메서드TestControllerService결과문제점TraceV2V2에서는 beginSync() 메서드를 호출하여 TraceId 값을 일관적으로 사용할 수 있도록 동기화하고 depth를 설정해준다.@Slf4j@Componentpublic class TraceV2 { private static final String START_PREFIX = "-->"; private static final String END_PREFIX = "TraceId에서 추가된 메서드public TraceId createNextId() { return new TraceId(traceId, level + 1);} Test이전과 다른 점..
[Logging] 로그 출력을 효율적으로 생성 및 추적하기 1편
·
Spring/Logging
Loggin에 TraceId를 부여하여 추적을 쉽게 만들기목차요구 사항TraceID 클래스TraceStatus 클래스TraceV1TestControllerService결과문제점우선 내 로그 기록을 살펴보면서 어떤 개선이 필요한지 찾아보자select u1_0.uuid,u1_0.account_status,u1_0.address1,u1_0.address2,u1_0.birthday,u1_0.birthyear,u1_0.email,u1_0.fcm_token,u1_0.mapx,u1_0.mapy,u1_0.mate_mate_uuid,u1_0.name,u1_0.nickname,u1_0.owner_uuid,u1_0.password,u1_0.phone_number,u1_0.profile_image,u1_0.role,u1_0...