Я провел небольшое исследование, потому что думал, что это интересная тема.Оказывается, то, что вы пытаетесь сделать, невозможно с фильтрами, но с AOP.Этот блог точно описывает, что вам нужно: https://www.baeldung.com/spring-aop-annotation
Причина, по которой вы не можете сделать это с фильтрами, заключается в том, что когда вызывается фильтр, еще не определено, какой метод будет вызываться.Это определяется в DispatcherServlet, который выполняется после фильтров.Для получения дополнительной информации об этом см. Эти блоги:
http://tutorials.jenkov.com/java-servlets/servlet-filters.html https://www.baeldung.com/spring-dispatcherservlet
Я думаю, что реализация AOP, описанная в блоге, имеет небольшую проблему.Если исключение генерируется аннотированным методом, я не думаю, что время выполнения регистрируется.Вы можете исправить это, просто обернув joinPoint.proceed в блок try / catch (на шаге 7)