Как регистрировать все запросы для клиента http4s

Я хочу регистрировать все запросы, которые делает мое приложение. Приложение делает несколько таких вызовов:

val client: Client = org.http4s.client.blaze.SimpleHttp1Client(...)
client.fetch(Request(method = GET, uri = aUri))

Есть ли способ заставить клиента записывать в файл все запросы?

(Используя v0.12.4)


person Paul McKenzie    schedule 04.04.2018    source источник


Ответы (1)


У меня все заработало:

  • знаток
  • https: 0.20.0-M6
  • slf4j-api: 1.7.26
  • slf4j-log4j12: 1.7.26

Основываясь на вопросе, вы должны изменить свой код на это:

import org.http4s.client.middleware.Logger

val client: Client = org.http4s.client.blaze.SimpleHttp1Client(...)
Logger(logBody = true, logHeaders = true)(client)
    .fetch(Request(method = GET, uri = aUri))

Так что вам нужно обернуть клиента Регистратором

person Robert Gabriel    schedule 13.03.2019