All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dk.kvalitetsit.logging.LoggingInterceptor Maven / Gradle / Ivy

Go to download

Adds correlation id to all log lines within the same request in a Spring Boot Application.

The newest version!
package dk.kvalitetsit.logging;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.slf4j.MDC;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

public class LoggingInterceptor implements HandlerInterceptor {
    public static final String MDC_CORRELATION_ID = "correlation-id";

    private final RequestIdGenerator requestIdGenerator;

    public LoggingInterceptor(RequestIdGenerator requestIdGenerator) {
        this.requestIdGenerator = requestIdGenerator;
    }

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
        String correlationId = requestIdGenerator.getOrGenerateRequestId();
        MDC.put(MDC_CORRELATION_ID, correlationId);

        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
        MDC.clear();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy