如何在使用Dispatch和Scala时打印http请求

Lex*_*ian 4 scala http scala-dispatch

当我使用Dispatch库和Scala时,出于调试目的,如何在写完这样的语句之后用文本中的标题等打印出整个HTTP请求?

val svc = url("http://api.hostip.info/country.php")
Run Code Online (Sandbox Code Playgroud)

fla*_*ian 8

Dispatch基于Netty.io,它完全实现了sl4j日志记录.已通过以下方式为您完成调试日志记录:

com.ning.http.client
Run Code Online (Sandbox Code Playgroud)

当心,它记录了很多垃圾.我假设你ch.qos.logback用于记录目的:

转到src/main/resources,创建一个名为的文件default.logback.xml,并将以下内容添加到其中:

<configuration>

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
    <encoder>
      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
    </encoder>
  </appender>

  <root level="DEBUG">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)


waf*_*dox 2

假设您使用的是最新版本的库,url(...)则返回一个Req,它只是 的一个薄包装com.ning.http.client.RequestBuilder。您可以使用 获取底层请求对象svc.toRequest,然后您可以toString根据您真正想要的信息调用或组合其他可用方法。更多信息:

请求的 Java 文档

调度来源