diff --git a/src/main/java/ssu/eatssu/domain/restaurant/entity/Restaurant.java b/src/main/java/ssu/eatssu/domain/restaurant/entity/Restaurant.java index 6b86bc7..30f5935 100644 --- a/src/main/java/ssu/eatssu/domain/restaurant/entity/Restaurant.java +++ b/src/main/java/ssu/eatssu/domain/restaurant/entity/Restaurant.java @@ -10,7 +10,7 @@ @Getter public enum Restaurant { - DODAM("DODAM", 7000), + DODAM("DODAM", 6000), DORMITORY("DORMITORY", 5500), FOOD_COURT("FOOD_COURT", null), SNACK_CORNER("SNACK_CORNER", null), diff --git a/src/main/java/ssu/eatssu/domain/slack/entity/SlackMessageFormat.java b/src/main/java/ssu/eatssu/domain/slack/entity/SlackMessageFormat.java index b603870..bc8d074 100644 --- a/src/main/java/ssu/eatssu/domain/slack/entity/SlackMessageFormat.java +++ b/src/main/java/ssu/eatssu/domain/slack/entity/SlackMessageFormat.java @@ -84,7 +84,7 @@ public static String sendServerError(Throwable ex, String method, String uri, St - HTTP Method: {4} - URI: {5} - User ID: {6} - - 요청 파라미터: {7} + - 로그 내용 (파라미터 정보 포함): {7} =================== """; MessageFormat messageFormat = new MessageFormat(messageTemplate); diff --git a/src/main/java/ssu/eatssu/global/log/ControllerLogAspect.java b/src/main/java/ssu/eatssu/global/log/ControllerLogAspect.java index ec7eda6..6690b3d 100644 --- a/src/main/java/ssu/eatssu/global/log/ControllerLogAspect.java +++ b/src/main/java/ssu/eatssu/global/log/ControllerLogAspect.java @@ -9,6 +9,8 @@ import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.reflect.MethodSignature; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; @@ -51,15 +53,7 @@ public Object logApi(ProceedingJoinPoint joinPoint) throws Throwable { String[] paramNames = methodSignature.getParameterNames(); Object[] args = joinPoint.getArgs(); - // 요청자 - String userId = IntStream.range(0, args.length) - .filter(i -> args[i] instanceof CustomUserDetails) - .mapToObj(i -> { - CustomUserDetails user = (CustomUserDetails) args[i]; - return String.valueOf(user.getId()); - }) - .findFirst() - .orElse("anonymous"); + String userId = getUserIdFromSecurityContext(); String userIdLog = "userId=" + userId; @@ -127,6 +121,15 @@ private String getCauseMessage(Throwable e) { return message != null ? message : e.getClass().getSimpleName(); } + private String getUserIdFromSecurityContext() { + Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + if (authentication != null && authentication.isAuthenticated() && authentication.getPrincipal() instanceof CustomUserDetails) { + CustomUserDetails userDetails = (CustomUserDetails) authentication.getPrincipal(); + return String.valueOf(userDetails.getId()); + } + return "anonymous"; + } + private Map toSafeMap(Object arg) { Map result = new HashMap<>(); for (Field field : arg.getClass().getDeclaredFields()) {