#spring #spring-boot #logging #logback #interceptor
#spring #spring-boot #ведение журнала #обратный вход #перехватчик
Вопрос:
В настоящее время я пытаюсь создать информационный журнал для каждого запроса в API, над которым я работаю, но вместо создания журнала для каждого запроса на уровне контроллера я хотел попробовать создать решение «охватить все», но я не могу полностью выполнить свои цели.
Я решил начать идею с использования аннотации Spring @Aspect, но использовать ее — не лучшая идея, потому что мне пришлось бы создавать один аспект для каждого контроллера, который у меня есть.
После некоторого копания я нашел 2 возможных пути решения, над которыми я мог бы попытаться поработать: @ControllerAdvice и создание перехватчика (что теоретически является единственной идеей, которая, как я думаю, имеет наибольшие шансы на успех и является чистым решением).
Проблема в том, что я не могу найти много информации об этих идеях.
Для идеи @ControllerAdvice я обнаружил, что она используется только для обработки исключений, а для идеи перехватчика я не нахожу ничего похожего на то, что я хочу создать.
Осуществимы ли эти идеи вообще? Или я должен просто придерживаться регистрации всего на уровне контроллера?
Не уверен, важно ли это, но в настоящее время я работаю с использованием библиотеки обратного входа.
Комментарии:
1. Посмотрите здесь на решение перехватчика: baeldung.com/spring-mvc-handlerinterceptor
Ответ №1:
Существует готовое решение для полного ведения журнала запросов и ответов для различных клиентских и серверных технологий. Я использую инструмент logbook для отслеживания информации о запросе-ответе для моих конечных точек rest.