当我使用Dispatch库和Scala时,出于调试目的,如何在写完这样的语句之后用文本中的标题等打印出整个HTTP请求?
val svc = url("http://api.hostip.info/country.php")
答案 0 :(得分:8)
Dispatch基于Netty.io,它完全实现了sl4j日志记录。调试日志记录已经通过以下方式完成:
com.ning.http.client
小心,它会记录一个很多的垃圾。我假设您使用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>
答案 1 :(得分:2)
假设您使用的是最新版本的lib,url(...)
会返回Req
,这只是com.ning.http.client.RequestBuilder
的一个薄包装。您可以使用svc.toRequest
获取基础请求对象,然后可以调用toString
或根据您真正关注的信息组合其他可用方法。更多信息: