Spring Cloud로 개발하는 마이크로서비스 애플리케이션_API Gateway Service_2 (gateway 사용)

2023. 2. 13. 23:57·공부/Spring
반응형

 

 

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Netflix Zuul - Filter 적용

강의에서는 Netflix Zuul을 사용해서 필터링했지만 나는 spring cloud gateway를 사용했다.

LogginFilter.java 생성

 

@Component // 일반적인 빈 형태
@Slf4j // jackson을 통한 logger 사용
public class LoggingFilter extends AbstractGatewayFilterFactory<LoggingFilter.Config> {

    @Data
    public static class Config {
        private String baseMessage;
        private boolean preLogger;
        private boolean postLogger;
    }

    public LoggingFilter() {
        super(Config.class);
    }

    @Override
    public GatewayFilter apply(Config config) {
        return (((exchange, chain) -> {
            ServerHttpRequest request = exchange.getRequest();
            ServerHttpResponse response = exchange.getResponse();

            log.info("Logging Filter baseMessage : {}", config.getBaseMessage());
            if(config.isPreLogger()) {
                // Custom Pre Filter
                log.info("Global Filter Start : request id -> {} ", request.getId());
            }

            //Custom Post Filter
            return chain.filter(exchange).then(Mono.fromRunnable(() -> {
                response.getStatusCode();
            }));
        }));
    }
}

 

application.yml 추가

spring:
	cloud:
    	gateway:
            default-filters:
              - name: LoggingFilter
                args :
                  baseMessage : test
                  preLogger : true
                  postLogger : true

 

크롬에서 확인

위 페이지로 접속하면 위에서 설정한 로그가 찍히는 걸 볼 수 있다.

 


- 출처 : 인프런 Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) 강의

 

반응형
저작자표시 비영리 변경금지 (새창열림)
'공부/Spring' 카테고리의 다른 글
  • Spring Cloud로 개발하는 마이크로서비스 애플리케이션_API Gateway Service_4
  • Spring Cloud로 개발하는 마이크로서비스 애플리케이션_API Gateway Service_3
  • Spring Cloud로 개발하는 마이크로서비스 애플리케이션_API Gateway Service_1
  • Spring Cloud로 개발하는 마이크로서비스 애플리케이션_Service Discovery
데부한
데부한
어차피 할 거면 긍정적으로 하고 싶은 개발자
    반응형
  • 데부한
    동동이개발바닥
    데부한
  • 전체
    오늘
    어제
    • 분류 전체보기 (307)
      • 방통대 컴퓨터과학과 (27)
        • 잡담 (9)
        • 3학년1학기 (17)
      • 프로젝트 및 컨퍼런스 회고 (1)
        • 프로젝트 (4)
        • 한이음 프로젝트 (0)
        • 회고 (3)
      • 공부 (165)
        • Spring (37)
        • JPA (71)
        • 인프런 워밍업 클럽_BE (10)
        • Java (6)
        • React.js (27)
        • 넥사크로 (11)
        • 기타 (3)
      • 알고리즘 (85)
        • 알고리즘 유형 (10)
        • 알고리즘 풀이 (57)
        • SQL 풀이 (18)
      • 에러 해결 (13)
      • 잡담 (7)
        • 국비교육 (2)
        • 구매후기 (5)
        • 진짜 잡담 (0)
  • 블로그 메뉴

    • Github
    • Linkedin
    • 홈
    • 방명록
    • 글쓰기
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    oracle
    에러해결
    코딩테스트
    egov
    자바스크립트
    Spring
    SpringBoot를 이용한 RESTful Web Service 개발
    IT
    프로그래머스
    넥사크로
    JPA
    SQL
    RESTful
    MSA
    react
    토비의스프링부트
    스프링부트
    방통대
    기출문제
    백준
    토이프로젝트
    개발자
    Java
    springboot
    알고리즘
    운영체제
    전자정부프레임워크
    프론트엔드
    인프런
    QueryDSL
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
데부한
Spring Cloud로 개발하는 마이크로서비스 애플리케이션_API Gateway Service_2 (gateway 사용)
상단으로

티스토리툴바