요청 로그
스프링 MVC 2 - 스프링 인터셉터 - 요청 로그
스프링 MVC 2 - 스프링 인터셉터 - 요청 로그
2022.09.23스프링 인터셉터 - 요청 로그 LogInterceptor - 요청 로그 인터셉터 String uuid = UUID.randomUUID().toString() 요청 로그를 구분하기 위한 uuid를 생성한다. request.setAttribute(LOG_ID, uuid) 서블릿 필터의 경우 지역변수로 해결이 가능하지만, 스프링 인터셉터는 호출 시점이 완전히 분리되어 있다. 따라서 preHandle에서 지정한 값을 postHandle, afterCompletion에서 함께 사용하려면 어딘가에 담아두어야 한다. LogInterceptor도 싱글톤 처럼 사용되기 때문에 멤버 변수를 사용하면 위험하다. 따라서 request에 담아두었다. 이 값은 afterCompletion에서 request.getAttribute..
스프링 MVC 2 - 서블릿 필터 - 요청 로그
스프링 MVC 2 - 서블릿 필터 - 요청 로그
2022.09.21서블릿 필터 - 요청 로그 필터가 정말 수문장 역할을 잘 하는지 확인하기 위해 가장 단순한 필터인, 모든 요청을 로그로 남기는 필터를 개발하고 적용해보자. LogFilter - 로그 필터 public class LogFilter implements Filter {} 필터를 사용하려면 필터 인터페이스를 구현해야 한다. doFilter(ServletRequest request, ServletResponse response, FilterChain chain) HTTP 요청이 오면 doFilter가 호출된다. ServletRequest request는 HTTP 요청이 아닌 경우까지 고려해서 만든 인터페이스이다. HTTP를 사용하면 HttpServletRequest httpRequest = (HttpServlet..