diff --git a/dongne-common/src/main/kotlin/io/beaniejoy/dongnecafe/filter/LoggingFilter.kt b/dongne-common/src/main/kotlin/io/beaniejoy/dongnecafe/filter/LoggingFilter.kt new file mode 100644 index 0000000..a53a8bc --- /dev/null +++ b/dongne-common/src/main/kotlin/io/beaniejoy/dongnecafe/filter/LoggingFilter.kt @@ -0,0 +1,32 @@ +package io.beaniejoy.dongnecafe.filter + +import mu.KotlinLogging +import org.slf4j.MDC +import org.springframework.core.annotation.Order +import org.springframework.stereotype.Component +import org.springframework.web.filter.OncePerRequestFilter +import java.util.UUID +import javax.servlet.FilterChain +import javax.servlet.http.HttpServletRequest +import javax.servlet.http.HttpServletResponse + +// TODO: 리팩토링 필요(logback-spring.xml 같이) +@Component +@Order(1) +class LoggingFilter: OncePerRequestFilter() { + private val log = KotlinLogging.logger {} + + override fun doFilterInternal( + request: HttpServletRequest, + response: HttpServletResponse, + filterChain: FilterChain, + ) { + val requestId = UUID.randomUUID().toString().substring(0, 8) + MDC.put("request_id", requestId) + + log.info{ "request_id = $requestId" } + filterChain.doFilter(request, response) + + MDC.remove("request_id") + } +} \ No newline at end of file diff --git a/dongne-service-api/src/main/resources/application.yml b/dongne-service-api/src/main/resources/application.yml index 55d9795..bae37d9 100644 --- a/dongne-service-api/src/main/resources/application.yml +++ b/dongne-service-api/src/main/resources/application.yml @@ -14,6 +14,9 @@ spring: devtools: livereload: enabled: false # no use devtools' LiveReload Server + security: + filter: + order: 10 logging: level: diff --git a/dongne-service-api/src/main/resources/logback-spring.xml b/dongne-service-api/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..5de84ae --- /dev/null +++ b/dongne-service-api/src/main/resources/logback-spring.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + ${LOG_PATTERN} + + + + + + + + + + + + + + + + + \ No newline at end of file