#scala #api #request #akka-http
#scala #API #запрос #akka-http
Вопрос:
Мне нужен механизм для хранения и доступа к конкретным данным запроса в Akka HTTP. Возможно ли это без отправки значений каждому участнику, вызываемому из маршрута?
Допустим, я хочу регистрировать выполнение всех операций, включая идентификатор запроса, чтобы я мог искать журналы по идентификатору запроса. Поэтому при входе в систему внутри actor было бы здорово сделать что-то вроде Request.id .
Обратите внимание, что API не реализует сеанс, поскольку это специфическая служба, которая работает за основным API (которая выполняет аутентификацию и т. Д.).
Есть ли какая-либо библиотека или встроенный способ, подходящий для этого?
Заранее спасибо
Комментарии:
1. То, что вам нужно, это MDC.
2. вы можете использовать kamon prometheus для регистрации интересующих вас показателей, которые могут быть интегрированы с grafana или kibana.
3. мы используем Kibana, но это скорее наш внутренний логин
4. @MateuszKubuszok не могли бы вы немного уточнить?
5. @MateuszKubuszok Если я использую MDC для хранения контекстной информации, такой как идентификатор запроса и другие вещи, я бы очищал ее после каждого запроса. Это означает, что я должен добавить четкую логику в конце каждого из моих более чем 100 маршрутов? Кроме того, мне нужно настроить его, когда запрос сначала поступает на маршрут? Я попробую, это избавит от необходимости передавать идентификатор запроса в качестве параметра сообщения субъекту…