diff --git a/app/external-api/src/main/java/com/bombombom/devs/external/global/logging/filter/MDCLoggingFilter.java b/app/external-api/src/main/java/com/bombombom/devs/external/global/logging/filter/MDCLoggingFilter.java new file mode 100644 index 00000000..4e9c678e --- /dev/null +++ b/app/external-api/src/main/java/com/bombombom/devs/external/global/logging/filter/MDCLoggingFilter.java @@ -0,0 +1,27 @@ +package com.bombombom.devs.external.global.logging.filter; + +import jakarta.servlet.Filter; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import java.io.IOException; +import java.util.UUID; +import org.slf4j.MDC; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +@Component +@Order(Ordered.HIGHEST_PRECEDENCE) +class MDCLoggingFilter implements Filter { + + @Override + public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, + FilterChain filterChain) throws IOException, ServletException { + final UUID uuid = UUID.randomUUID(); + MDC.put("requestId", uuid.toString()); + filterChain.doFilter(servletRequest, servletResponse); + MDC.clear(); + } +} diff --git a/app/external-api/src/main/resources/logback.xml b/app/external-api/src/main/resources/logback.xml new file mode 100644 index 00000000..6376fea6 --- /dev/null +++ b/app/external-api/src/main/resources/logback.xml @@ -0,0 +1,16 @@ + + + + + + + + ${LOG_PATTERN} + + + + + + + \ No newline at end of file