diff --git a/src/main/java/edu/umd/dawn/common/interceptor/RequestInterceptor.java b/src/main/java/edu/umd/dawn/common/interceptor/RequestInterceptor.java index c1ee63859c6e2716b82ac563f9d66b313ffc4c6f..4e460dbcd086719a451121ca976af9498fe76c37 100644 --- a/src/main/java/edu/umd/dawn/common/interceptor/RequestInterceptor.java +++ b/src/main/java/edu/umd/dawn/common/interceptor/RequestInterceptor.java @@ -8,8 +8,12 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.util.Enumeration; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.UUID; +import java.util.stream.Collectors; + import lombok.extern.log4j.Log4j2; import org.apache.logging.log4j.Level; import org.slf4j.MDC; @@ -108,6 +112,8 @@ public class RequestInterceptor implements HandlerInterceptor { userId = claims.getUserId(); } + List<String> ips = List.of(Optional.of(request.getHeader("X-FORWARDED-FOR")).orElse("").split(",")).stream().map(x -> x.trim()).collect(Collectors.toList()); + RequestLog requestLog = RequestLog.builder() .path(path) .method(request.getMethod()) @@ -117,6 +123,7 @@ public class RequestInterceptor implements HandlerInterceptor { .duration(executeTime) .userAgent(userAgentService.parse(headers)) .userId(userId) + .ips(ips) .build(); log.log(Level.forName("REQUEST", 10), requestLog);