From 810746856232148fcb50311919cce5a3c85497d0 Mon Sep 17 00:00:00 2001 From: beaniejoy Date: Thu, 13 Apr 2023 01:59:51 +0900 Subject: [PATCH] =?UTF-8?q?[#43]=20feat:=20logging=20filter=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9=20=EC=A7=84=ED=96=89=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - LoggingFilter 초기 설정(리팩토링 필요) - logback-spring.xml 설정 - security filter order 설정값 지정 --- .../dongnecafe/filter/LoggingFilter.kt | 32 +++++++++++++++++++ .../src/main/resources/application.yml | 3 ++ .../src/main/resources/logback-spring.xml | 28 ++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 dongne-common/src/main/kotlin/io/beaniejoy/dongnecafe/filter/LoggingFilter.kt create mode 100644 dongne-service-api/src/main/resources/logback-spring.xml 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