강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

ewkim83님의 프로필 이미지
ewkim83

작성한 질문수

Repository 상속 받은 자식 Repository의 Method 로깅

작성

·

52

·

수정됨

0

안녕하세요.

 

Repository를 상속 받은 자식 Repository의 호출 Method를 로깅하려고 합니다.

@Around("execution(* ewkim83.me..repository..*Repository.*(..))")
    public Object logAroundRepository(ProceedingJoinPoint joinPoint) throws Throwable {
        var signature = joinPoint.getSignature();
        log.info("{}.{}", signature.getDeclaringTypeName(), signature.getName());
        return joinPoint.proceed();
    }

 

package ewkim83.me.spring.rest.repository;

import ewkim83.me.spring.rest.model.entity.Item;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface ItemRepository extends CrudRepository<Item, String> {
}

로그에 아래와 같이 출력됩니다.

findById 메소드가 부모인 CrudRepository의 것을 사용하기 때문에 아래와 같은 로그를 이해하고 있습니다.

org.springframework.data.repository.CrudRepository.findById

 

그런데 로그 분석을 위해 상속 받은 자식 인터페이스 이름을 로깅하고 싶습니다.

CrudRepository를 상속 받은 자식 인터페이스가 무수히 많기 때문에 실제 어디에서 호출된 것인지 확인이 필요합니다.

아래와 같이 자식 인터페이스의 이름을 알아낼 방법이 있을까요?

ewkim83.me.spring.rest.repository.ItemRepository.findById

 

감사합니다.

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
ewkim83님의 프로필 이미지
ewkim83

작성한 질문수

질문하기