Skip to content

Commit cca3366

Browse files
committed
feat: MDC 로깅 적용
1 parent 83cc6d0 commit cca3366

3 files changed

Lines changed: 26 additions & 1 deletion

File tree

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,6 @@ out/
3636
### VS Code ###
3737
.vscode/
3838

39-
src/main/resources/**
39+
src/main/resources/application.yml
40+
src/main/resources/application-dev.yml
41+
src/main/resources/application-prod.yml

src/main/java/com/gotogether/global/interceptor/LoggingInterceptor.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import org.slf4j.Logger;
44
import org.slf4j.LoggerFactory;
5+
import org.slf4j.MDC;
56
import org.springframework.web.servlet.HandlerInterceptor;
67
import org.springframework.web.util.ContentCachingRequestWrapper;
78
import org.springframework.web.util.ContentCachingResponseWrapper;
@@ -18,6 +19,9 @@ public class LoggingInterceptor implements HandlerInterceptor {
1819
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
1920
request.setAttribute(START_TIME, System.currentTimeMillis());
2021

22+
String traceId = java.util.UUID.randomUUID().toString();
23+
MDC.put("traceId", traceId);
24+
2125
logger.info("===================== [로깅 인터셉터 시작] =====================");
2226
logger.info("[요청] {} {}", request.getMethod(), request.getRequestURI());
2327
logRequestHeaders(request);
@@ -39,6 +43,8 @@ public void afterCompletion(HttpServletRequest request, HttpServletResponse resp
3943
logResponseHeaders(response);
4044
logResponseBody(response);
4145
logger.info("===========================================================\n");
46+
47+
MDC.clear();
4248
}
4349

4450
private void logRequestHeaders(HttpServletRequest request) {

src/main/resources/logback.xml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<configuration>
3+
4+
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
5+
<encoder>
6+
<pattern>
7+
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{36}) - [TRACE-%X{traceId}] %msg%n
8+
</pattern>
9+
<charset>UTF-8</charset>
10+
</encoder>
11+
</appender>
12+
13+
<root level="INFO">
14+
<appender-ref ref="STDOUT" />
15+
</root>
16+
17+
</configuration>

0 commit comments

Comments
 (0)