본문 바로가기
백엔드/Spring

[Spring] AOP 기능을 사용해서, 어노테이션으로 로그를 남기자 (annotation logging)

by RoJae 2022. 4. 30.

 

공통된 기능을 개발할 수 있도록, 설계된 Spring의 AOP를 활용하면 메소드에 공통 기능을 삽입할 수 있다.
이를 적절하게 사용해서, 메소드에 logging 기능을 넣어보자

 

  1. Annotation 생성
  2. AOP 설정파일을 추가하자
  3. 로깅 기능을 직접 사용하자 
  4. 후기

소스코드 이미지를 클릭하면, 소스코드 연결이 가능합니다.


1. Annotation 생성 (로그 유발, 로그 제외)

LogExclusion.java
LogInclusion.java


2. AOP 설정파일을 추가하자

@Around를 사용하여, kr.imcf.mybatis.** 패키지에 존재하는 소스에 AOP 설정이 가능하다.

  // kr.imcf.mybatis 패키지 내부 && @LogExclusion이 없고 && @LogInclusion이 있는 경우
  @Around("within(kr.imcf.mybatis..*) 
  && !@annotation(kr.imcf.mybatis.config.LogExclusion) 
  && @annotation(kr.imcf.mybatis.config.LogInclusion))")

LogConfig.java


3. 로깅 기능을 직접 사용하자

@LogInclusion, @LogExclusion 사용하는 법


4. 후기 😎

프레임워크의 핵심 기능인  AOP에 대해서, 깊게 공부를 할 필요를 느꼈습니다. 

우선 @annotation으로 로깅 설정하는 법을 알았으니

간단하게 사용은 가능하겠습니다. 😁

 

 

댓글