전체 글
-
PatternLayout 이란?Logback-classic 모듈의 가장 유연한 Layout 구현체로, 로깅 이벤트를 개발자가 지정한 변환 패턴(Conversion Pattern)에따라 문자열로 포맷팅한다.쉽게 말해, Logback 에서 로그 메세지를 출력할 때 로그 형식을 만드는 클래스이다.즉, 로그 한 줄이 어떤 구조(패턴)로 출력될지 결정하는 핵심 Layout 클래스라고 보면된다. Logback 에서 Layout 은 로깅 이벤트를 문자열로 변환하는 컴포넌트이며, PatternLayout은 %d, %level, %logger 같은패턴 키워드를 사용해 시간, 레벨, 클래스명 등을 자유롭게 배치할 수 있게 한다.Spring Boot 에서는 기본적으로 PatternLayoutEncoder 가 이 클래스를 사..
PatternLayout 을 상속받아 Logback 마스킹 처리
PatternLayout 이란?Logback-classic 모듈의 가장 유연한 Layout 구현체로, 로깅 이벤트를 개발자가 지정한 변환 패턴(Conversion Pattern)에따라 문자열로 포맷팅한다.쉽게 말해, Logback 에서 로그 메세지를 출력할 때 로그 형식을 만드는 클래스이다.즉, 로그 한 줄이 어떤 구조(패턴)로 출력될지 결정하는 핵심 Layout 클래스라고 보면된다. Logback 에서 Layout 은 로깅 이벤트를 문자열로 변환하는 컴포넌트이며, PatternLayout은 %d, %level, %logger 같은패턴 키워드를 사용해 시간, 레벨, 클래스명 등을 자유롭게 배치할 수 있게 한다.Spring Boot 에서는 기본적으로 PatternLayoutEncoder 가 이 클래스를 사..
2025.12.05 -
인스턴스 변수 (instance field)클래스의 각 객체 인스턴스마다 따로 존재하는 필드이다.public int age; 클래스 변수 / 정적 변수 (static field)클래스 로더에 의해 한번 로드외어 모든 인스턴스가 공유하는 필드public static int count; 클래스 상수 (static final)한번 초기화되고 변경 불가한(참조 재할당 불가) 정적 필드관례상 대문자 스네이크 케이스 (예-STATIC_FINAL_FIELD)public static final String NAME = "OBO"; 메모리와 수명 인스턴스 변수각 객체의 힙(Heap) 영역에 저장된다.객체가 가비지 컬렉션 되면 소멸한다. static / static final클래스 메타영역(런타임의 클래스 영역)에 저장..
클래스 변수, 클래스 상수, 인스턴스 변수인스턴스 변수 (instance field)클래스의 각 객체 인스턴스마다 따로 존재하는 필드이다.public int age; 클래스 변수 / 정적 변수 (static field)클래스 로더에 의해 한번 로드외어 모든 인스턴스가 공유하는 필드public static int count; 클래스 상수 (static final)한번 초기화되고 변경 불가한(참조 재할당 불가) 정적 필드관례상 대문자 스네이크 케이스 (예-STATIC_FINAL_FIELD)public static final String NAME = "OBO"; 메모리와 수명 인스턴스 변수각 객체의 힙(Heap) 영역에 저장된다.객체가 가비지 컬렉션 되면 소멸한다. static / static final클래스 메타영역(런타임의 클래스 영역)에 저장..
2025.12.02 -
✅ ClientHttpReqeustFactorySpring 의 ClientHttpReqeustFactory 는 RestTemplate 가 HTTP 요청을 실제로 어떻게보낼지(커넥션 관리, 타임아웃, 버퍼링 등) 결정하는 핵심 인터페이스이다. 쉽게 말하면,Spring 에서 HTTP 요청을 만들고(HttpRequest) 서버와 통신하는 역할을 담당하는 전략 인터페이스이다. 즉, RestTemplate 의 '전송 엔진' 역할이라고 보면된다. 역할 역할 설명 HTTP Connection 생성어떤 방식으로 연결할지 결정타임아웃 설정connect/read timeout 지정버퍼링 여부response body 읽기 여러 번 가능 여부SSL/TLS 설정HTTPS 인증서 커스터마이징 가능Connection pooli..
Spring ClientHttpRequestFactory(RestTemplate 관련)✅ ClientHttpReqeustFactorySpring 의 ClientHttpReqeustFactory 는 RestTemplate 가 HTTP 요청을 실제로 어떻게보낼지(커넥션 관리, 타임아웃, 버퍼링 등) 결정하는 핵심 인터페이스이다. 쉽게 말하면,Spring 에서 HTTP 요청을 만들고(HttpRequest) 서버와 통신하는 역할을 담당하는 전략 인터페이스이다. 즉, RestTemplate 의 '전송 엔진' 역할이라고 보면된다. 역할 역할 설명 HTTP Connection 생성어떤 방식으로 연결할지 결정타임아웃 설정connect/read timeout 지정버퍼링 여부response body 읽기 여러 번 가능 여부SSL/TLS 설정HTTPS 인증서 커스터마이징 가능Connection pooli..
2025.11.28 -
환경 : Spring Boot 3 Logback 을 통해 로그를 찍을 때 휴대폰번호나 개인정보가 포함된 내용에 대해 마스킹 처리를 해야하는 상황이다.해당 내용은 RestTemplate 요청 시 Interceptor 를 통해 로그를 찍을려고 한다. ✅ Log4j2 의존성 제거 Log4j2 를 사용하고 있으면 의존성을 제거한다. org.springframework.boot spring-boot-starter-log4j2 pom.xml 내 해당 내용을 삭제한다. Spring Boot 로깅을 Logback 기본값으로 돌리려면 starter-logging(Logback) 이 빠져있지 않는지 확인한다.혹시 exclusion 되어 있으면 삭제해야 한다. org.springframew..
Spring Boot Interceptor 를 통한 Logback 로그 찍기환경 : Spring Boot 3 Logback 을 통해 로그를 찍을 때 휴대폰번호나 개인정보가 포함된 내용에 대해 마스킹 처리를 해야하는 상황이다.해당 내용은 RestTemplate 요청 시 Interceptor 를 통해 로그를 찍을려고 한다. ✅ Log4j2 의존성 제거 Log4j2 를 사용하고 있으면 의존성을 제거한다. org.springframework.boot spring-boot-starter-log4j2 pom.xml 내 해당 내용을 삭제한다. Spring Boot 로깅을 Logback 기본값으로 돌리려면 starter-logging(Logback) 이 빠져있지 않는지 확인한다.혹시 exclusion 되어 있으면 삭제해야 한다. org.springframew..
2025.11.27 -
✅ RequestMatcherSpring Security 에서 요청을 필터링하거나 특정 요청에 대한 보안 정책(인가, 인증 등) 을 매칭할 때 사용하는 핵심 인터페이스 중 하나이다.👉 org.springframework.security.web.util.matcher.RequestMatcher 기본적으로 Spring Security 6버전에서는 requestMatcher 를 이용한 URL 매칭을 한다.@Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests(authorize -> authorize .requestMatchers( "/error" ..
Spring Security RequestMatcher 와 CustomFilter 를 이용한 특정 URL 체크하기✅ RequestMatcherSpring Security 에서 요청을 필터링하거나 특정 요청에 대한 보안 정책(인가, 인증 등) 을 매칭할 때 사용하는 핵심 인터페이스 중 하나이다.👉 org.springframework.security.web.util.matcher.RequestMatcher 기본적으로 Spring Security 6버전에서는 requestMatcher 를 이용한 URL 매칭을 한다.@Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests(authorize -> authorize .requestMatchers( "/error" ..
2025.11.14 -
RequestMatchersSpring Security 에서 요청을 필터링하거나 특정 요청에 대한 보안 정책(인가, 인증 등) 을 매칭할 때 사용하는핵심 인터페이스 중 하나이다.👉 org.springframework.security.web.util.matcher.RequestMatcher 🔍 RequestMatcher 개요RequestMatcher 는 HTTP 요청(HttpServletRequest) 이 특정 조건과 일치하는지 여부를 판단하기 위한전략(Strategy) 인터페이스다.public interface RequestMatcher { boolean matches(HttpServletRequest request);} 들어온 요청이 "이 URL, 이 메서드, 이 헤더 조건에 맞는가?" 를..
Spring Security RequestMatcher InterfaceRequestMatchersSpring Security 에서 요청을 필터링하거나 특정 요청에 대한 보안 정책(인가, 인증 등) 을 매칭할 때 사용하는핵심 인터페이스 중 하나이다.👉 org.springframework.security.web.util.matcher.RequestMatcher 🔍 RequestMatcher 개요RequestMatcher 는 HTTP 요청(HttpServletRequest) 이 특정 조건과 일치하는지 여부를 판단하기 위한전략(Strategy) 인터페이스다.public interface RequestMatcher { boolean matches(HttpServletRequest request);} 들어온 요청이 "이 URL, 이 메서드, 이 헤더 조건에 맞는가?" 를..
2025.11.12