회고

20220517 TIL #함수형 인터페이스 #log남기기

paran21 2022. 5. 17. 21:33

오늘 함수형 인터페이스, @Functional Interface에 대해 알게 되었다.

이 인터페이스의 특징은 추상메소드를 하나만 가진다는 것인데(default, static 제외),

정말 재미있어 보이는 점은 이런 예제가 있다는 점이다!!!

 

https://tecoble.techcourse.co.kr/post/2021-11-21-functional-interface-with-lambda/

 

함수형 인터페이스와 람다를 이용한 코드 중복 제거

tecoble.techcourse.co.kr

 

코딩을 하면서 코드가 정말 비슷해서 리펙토링을 하고 싶은데 정말 애매하게 메서드만 다른 경우를 꽤 봤다.

이거는 어떻게 할 수 없을까, 하는 고민이 있었는데 함수형 인터페이스의 이런 점들을 활용하면 뭔가 코드를 더 깔끔하게 작성할 수 있지 않을까.

 

회사 동료가 "모던 자바 인 액션"을 강력 추천했는데, 이거 보면서 공부할 때 이것저것 해볼 수 있을 것 같다.

 


우리 프로젝트에 현재 로그를 많이 남기지 않고 있어서, 로그를 찍어달라는 요청을 받았다.

요구사항이 아주 구체적이지는 않아서 일단 어디에, 어떤 로그를 찍어야할 지 고민이 된다.

 

그래서 밥먹으면서 얘기를 하다가, 이런 얘기를 들었다.

테스트 코드가 있으면, 로그를 막 찍을 필요가 없다...!

 

그리고 다른 플젝에서 로그를 DB에 저장하는 걸 보았다.

필터와 인터셉터를 사용해서 JPA로 로그 엔티티를 만들어서 uri, response 등등 필요한 정보를 저장하는 방법이다.

 

또 다른 방법은 이미 우리 코드에 있었던 부분인데, AOP를 사용하는 방법이다.

aop는 우리 컨트롤러들이 모여있는 web 패키지만 대상으로 했다.

그리고 이 방법에서는 log만 찍고, log는 별도의 설정을 통해 저장되는 파일 안에 남는다.

 

추가로 공부해볼건, 인터셉터, aop, 그리고 코드 작성해보기!!