Запрос отладки / журнала для сервера akka-http - PullRequest
1 голос
/ 13 февраля 2020

У меня есть следующий тест http, и я хотел бы получить всю информацию из запроса по маршруту по умолчанию.

class HttpTestServer(port: Int = 6666)(implicit as: ActorSystem, ec: ExecutionContext, mat: ActorMaterializer)
  extends JsonSupport
  with LazyLogging{

  var numRequest: Int = 0
  def start(): Future[ServerBinding] = {
    def routes = {
      // print request information here
      logRequest("test")
      numRequest += 1
      println(s"HttpServer request received: $numRequest")
      complete(Map("key"-> 1.0))
    }
    Http().bindAndHandle(routes, "0.0.0.0", port)
  }

}

И у меня есть следующая строка на logback.xml, чтобы включить отладку на akka-http:

<logger name="akka.http" level="DEBUG"/>

В качестве ссылок я использую akka-http DebuggingDirective

ОБНОВЛЕНО: Я предполагаю, что есть проблема с LoggingAdapter или несовместимость между LazyLogging и akka LoggingAdapter. Если я печатаю на stdout работает нормально:

val logRequestPrintln = DebuggingDirectives.logRequest(LoggingMagnet(_ => println _))
....
logRequestPrintln(complete(Map("key"-> 1.0)))
...