extractLog

Signature

def extractLog: Directive1[LoggingAdapter] 

Description

Extracts a LoggingAdapterLoggingAdapter from the request context which can be used for logging inside the route.

The extractLog directive is used for providing logging to routes, such that they don’t have to depend on closing over a logger provided in the class body.

See extract and Providing Values to Inner Routes for an overview of similar directives.

Example

Scala
sourceval route =
  extractLog { log =>
    log.debug("I'm logging things in much detail..!")
    complete("It's amazing!")
  }

// tests:
Get("/abcdef") ~> route ~> check {
  responseAs[String] shouldEqual "It's amazing!"
}
Java
sourceimport static org.apache.pekko.http.javadsl.server.Directives.extractLog;

final Route route =
    extractLog(
        log -> {
          log.debug("I'm logging things in much detail..!");
          return complete("It's amazing!");
        });

// tests:
testRoute(route).run(HttpRequest.GET("/abcdef")).assertEntity("It's amazing!");