[#43] feat: logging filter 적용 진행중
- LoggingFilter 초기 설정(리팩토링 필요) - logback-spring.xml 설정 - security filter order 설정값 지정
This commit is contained in:
@@ -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")
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,9 @@ spring:
|
||||
devtools:
|
||||
livereload:
|
||||
enabled: false # no use devtools' LiveReload Server
|
||||
security:
|
||||
filter:
|
||||
order: 10
|
||||
|
||||
logging:
|
||||
level:
|
||||
|
||||
28
dongne-service-api/src/main/resources/logback-spring.xml
Normal file
28
dongne-service-api/src/main/resources/logback-spring.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
|
||||
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
|
||||
|
||||
<!-- pattern -->
|
||||
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %clr(%5level) [%15.15t] [%X{request_id}] %clr(%-40.40logger{39}){cyan} : %m%n%wEx"/>
|
||||
<!-- Console Appender -->
|
||||
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<springProfile name="local">
|
||||
<logger additivity="false" level="INFO" name="io.beaniejoy.dongnecafe">
|
||||
<appender-ref ref="stdout"/>
|
||||
</logger>
|
||||
|
||||
<logger additivity="false" level="INFO" name="io.beaniejoy.dongnecafe.DongneServiceApiApplicationKt">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
|
||||
<root level="INFO">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</root>
|
||||
</springProfile>
|
||||
</configuration>
|
||||
Reference in New Issue
Block a user