Skip to content

Commit 84a237f

Browse files
committed
CLAP-112 Refactor: 로깅 저장 기능에 대해 추상화
1 parent 9a8c424 commit 84a237f

File tree

3 files changed

+20
-11
lines changed

3 files changed

+20
-11
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package clap.server.application.port.outbound.log;
2+
3+
import clap.server.adapter.outbound.persistense.entity.log.constant.LogStatus;
4+
import jakarta.servlet.http.HttpServletRequest;
5+
6+
public interface LoggingPort {
7+
void createAnonymousLog(HttpServletRequest request, int statusCode, String customCode, LogStatus logStatus, Object responseBody, String requestBody, String nickName);
8+
void createMemberLog(HttpServletRequest request, int statusCode, String customCode,LogStatus logStatus, Object responseBody, String requestBody, Long memberId);
9+
void createLoginFailedLog(HttpServletRequest request, int statusCode, String customCode, LogStatus logStatus, String requestBody, String nickName);
10+
}

src/main/java/clap/server/application/port/inbound/domain/LogService.java renamed to src/main/java/clap/server/application/service/log/LogService.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
package clap.server.application.port.inbound.domain;
1+
package clap.server.application.service.log;
22

33
import clap.server.adapter.outbound.persistense.entity.log.constant.LogStatus;
4+
import clap.server.application.port.inbound.domain.MemberService;
45
import clap.server.application.port.outbound.auth.loginLog.LoadLoginLogPort;
56
import clap.server.application.port.outbound.log.CommandLogPort;
7+
import clap.server.application.port.outbound.log.LoggingPort;
68
import clap.server.common.utils.ClientIpParseUtil;
79
import clap.server.domain.model.auth.LoginLog;
810
import clap.server.domain.model.log.AnonymousLog;
911
import clap.server.domain.model.log.MemberLog;
1012
import clap.server.domain.model.member.Member;
11-
import com.fasterxml.jackson.core.JsonProcessingException;
12-
import com.fasterxml.jackson.databind.ObjectMapper;
1313
import jakarta.servlet.http.HttpServletRequest;
1414
import lombok.RequiredArgsConstructor;
1515
import org.springframework.stereotype.Service;
@@ -18,11 +18,10 @@
1818
@Service
1919
@RequiredArgsConstructor
2020
@Transactional
21-
public class LogService {
21+
public class LogService implements LoggingPort {
2222
private final CommandLogPort commandLogPort;
2323
private final MemberService memberService;
2424
private final LoadLoginLogPort loadLoginLogPort;
25-
private final ObjectMapper objectMapper;
2625

2726
public void createAnonymousLog(HttpServletRequest request, int statusCode, String customCode, LogStatus logStatus, Object responseBody, String requestBody, String nickName) {
2827
AnonymousLog anonymousLog = AnonymousLog.createAnonymousLog(request, statusCode,customCode, logStatus, responseBody, requestBody, nickName);
@@ -35,7 +34,7 @@ public void createMemberLog(HttpServletRequest request, int statusCode, String c
3534
commandLogPort.saveMemberLog(memberLog);
3635
}
3736

38-
public void createLoginFailedLog(HttpServletRequest request, int statusCode, String customCode, LogStatus logStatus, String requestBody, String nickName) throws JsonProcessingException {
37+
public void createLoginFailedLog(HttpServletRequest request, int statusCode, String customCode, LogStatus logStatus, String requestBody, String nickName) {
3938
LoginLog loginLog = loadLoginLogPort.findByClientIp(ClientIpParseUtil.getClientIp(request)).orElse(null);
4039
String responseBody = loginLog != null ? loginLog.toSummaryString() : null;
4140
AnonymousLog anonymousLog = AnonymousLog.createAnonymousLog(request, statusCode,customCode, logStatus, responseBody, requestBody, nickName);

src/main/java/clap/server/config/aop/LoggingAspect.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import clap.server.adapter.inbound.security.service.SecurityUserDetails;
44

55
import clap.server.adapter.outbound.persistense.entity.log.constant.LogStatus;
6-
import clap.server.application.port.inbound.domain.LogService;
6+
import clap.server.application.port.outbound.log.LoggingPort;
77
import clap.server.common.annotation.log.LogType;
88
import clap.server.exception.BaseException;
99
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -34,7 +34,7 @@
3434
@RequiredArgsConstructor
3535
public class LoggingAspect {
3636
private final ObjectMapper objectMapper;
37-
private final LogService logService;
37+
private final LoggingPort loggingPort;
3838

3939
@Pointcut("execution(* clap.server.adapter.inbound.web..*Controller.*(..))")
4040
public void controllerMethods() {
@@ -77,7 +77,7 @@ public Object logApiRequests(ProceedingJoinPoint joinPoint) throws Throwable {
7777
} else {
7878
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
7979
if (principal instanceof SecurityUserDetails userDetails) {
80-
logService.createMemberLog(request, statusCode, customCode, logStatus, result, getRequestBody(request), userDetails.getUserId());
80+
loggingPort.createMemberLog(request, statusCode, customCode, logStatus, result, getRequestBody(request), userDetails.getUserId());
8181
}
8282
}
8383
}
@@ -88,9 +88,9 @@ public Object logApiRequests(ProceedingJoinPoint joinPoint) throws Throwable {
8888

8989
private void handleLoginLog(int statusCode, HttpServletRequest request, String customCode, LogStatus logStatus, Object result) throws JsonProcessingException {
9090
if (statusCode == HttpStatus.SC_OK) {
91-
logService.createAnonymousLog(request, statusCode, customCode, logStatus, result, getRequestBody(request), getNicknameFromRequestBody(request));
91+
loggingPort.createAnonymousLog(request, statusCode, customCode, logStatus, result, getRequestBody(request), getNicknameFromRequestBody(request));
9292
} else {
93-
logService.createLoginFailedLog(request, statusCode, customCode, logStatus, getRequestBody(request), getNicknameFromRequestBody(request));
93+
loggingPort.createLoginFailedLog(request, statusCode, customCode, logStatus, getRequestBody(request), getNicknameFromRequestBody(request));
9494
}
9595
}
9696

0 commit comments

Comments
 (0)