Невозможно добавить экземпляр HandleInterceptorAdapter
Я пытаюсь перехватить каждый HTTP-запрос, поступающий в мое приложение Spring Boot. Для этого у меня есть LoggingInterceptor следующим образом:
@Component
public class LoggingInterceptor extends HandlerInterceptorAdapter {
private static final Logger logger = LoggerFactory.getLogger(LoggingInterceptor.class);
public LoggingInterceptor() {
super();
logger.debug("LoggingInteceptor constructor");
}
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
logger.debug("LoggingInteceptor: Intercepted " + request.getRequestURI());
return true;
}
}
Затем у меня есть класс @Configuration для добавления перехватчика в реестр следующим образом:
@EnableWebMvc
@Configuration
public class LoggingConfig extends WebMvcConfigurerAdapter {
@Autowired
LoggingInterceptor loggingInterceptor;
public void addInterceptors(InterceptorRegistry registry){
registry.addInterceptor(loggingInterceptor);
}
}
Тем не менее, я просто не вижу ни одного из операторов журнала. Есть ли что-то еще, что мне нужно сделать, чтобы это произошло?
1 ответ
Ваша конфигурация выглядит хорошо. Также registry.addInterceptor(loggingInterceptor);
вызов завершится неудачно, если перехватчик будет нулевым, поэтому он, кажется, правильно подключен.
Поэтому я бы проверил:
- если уровень DEBUG нам разрешен в рамках логирования
- Если оба класса вообще включены в ваш контекст Spring (установите метод точки останова addInterceptors и запустите приложение)
РЕДАКТИРОВАТЬ:
ОК, поэтому комментарий подтвердил, что ваша проблема - мой первый пункт. Вам нужно найти файл конфигурации ведения журнала (например, log4j.properties, log4j,xml или logback.xml) и изменить там уровень журнала с INFO на DEBUG.