728x90
Filter Class 생성
@Slf4j
@Component //Bean으로 등록
public class ZuulLoggingFilter extends ZuulFilter {
//로그를 출력해 줄 필터
//Logger logger = LoggerFactory.getLogger(ZuulLoggingFilter.class);
@Override
public Object run() throws ZuulException {
log.info("************ printing logs : ");
RequestContext ctx = RequestContext.getCurrentContext(); //Context를 얻어온다
HttpServletRequest request = ctx.getRequest();
log.info("************ " + request.getRequestURI());
return null;
}
@Override
public String filterType() {
//사전 필터인지, 사후 필터인지
return "pre";
}
@Override
public int filterOrder() {
//필터 순서
return 1;
}
@Override
public boolean shouldFilter() {
//필터 사용여부
return true;
}
}
- Filter 를 적용시키기 위해 ZuulFilter를 상속받는다.
- 사후, 사전 작업을 GateWay에서 진행이 가능하다
- filterType
- 사전, 사후 필터인지를 적어준다.
- filterOrder
- 필터 순서를 정해준다.
- shouldFilter
- 필터의 사용 여부를 적어준다.
- run
- 사전, 사후 동작에서 어떤 동작을 할지 적어준다.
- 현재는 Log를 찍어주는 역할을 한다.
- RequestContext를 통해 RequestServlet을 읽어와 requestServlet에 URI를 Log로 찍는다
728x90
'Spring Cloud로 개발하는 MSA > API Gateway Service' 카테고리의 다른 글
| Spring Cloud Gateway - Custom Filter 적용 (0) | 2022.05.03 |
|---|---|
| Spring Cloud Gateway - Filter 적용 (0) | 2022.05.03 |
| Spring Cloud Gateway - 프로젝트 생성 (0) | 2022.05.03 |
| Netflix Zuul - 프로젝트 생성 (0) | 2022.05.03 |
| API Gateway Service (0) | 2022.05.03 |