본문 바로가기

IT 개발/Spring

AOP를 활용하여 로그 기록하기

반응형

 

프로젝트 중 보안관련해서 Admin 사이트의 접속 및 활동, 다운로드 등 전반적인 로그를 DB에 적재를 해야했다.
페이지별 기능별 로그를 기록하기위한 방법으로
2가지가 있었는데,

1. 일일히 Controller마다 로그repository를 추가하여 로직구성

2. AOP를 활용하여 로그기록

페이지나 기능은 많이 없는 Admin 사이트이지만..
일일히 비슷한 코드구성을 복붙하기엔 너무 막노동으로 생각해서 AOP를 활용해보기로 결정했다.

Aspect로 모듈화하고 핵심적인 비즈니스 로직에서 분리하여 재사용하는게 차후 기능추가가 되도 유지보수가 용이할것이라는 판단이었다.

주로 사용한 어노테이션

  • Aspect : 주로 부가기능을 모듈화함.
  • PointCut : 적용할 지점 설정.
  • Before 혹은 Around, AfterReturning : PointCut으로 적용된 지점이 수행되기 전이나 수행될 때, 아니면 이후로 시점 적용
반응형