当我使用Dispatch库和Scala时,出于调试目的,如何在写完这样的语句之后用文本中的 Headers 等打印出整个HTTP请求?
val svc = url("http://api.hostip.info/country.php")
假设您使用的是最新版本的lib, url(...) 会返回 Req ,这只是 com.ning.http.client.RequestBuilder 的一个薄包装 . 您可以使用 svc.toRequest 获取基础请求对象,然后您可以调用 toString 或根据您真正使用的信息组合其他可用方法 . 更多信息:
url(...)
Req
com.ning.http.client.RequestBuilder
svc.toRequest
toString
Java doc for Request
Source for dispatch
Dispatch基于Netty.io,它完全实现了sl4j日志记录 . 已通过以下方式为您完成调试日志记录:
com.ning.http.client
Beware ,它记录了一个废话 LOT . 我假设您使用 ch.qos.logback 进行日志记录:
ch.qos.logback
转到 src/main/resources ,创建一个名为 default.logback.xml 的文件,并将以下内容添加到其中:
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>
2 回答
假设您使用的是最新版本的lib,
url(...)
会返回Req
,这只是com.ning.http.client.RequestBuilder
的一个薄包装 . 您可以使用svc.toRequest
获取基础请求对象,然后您可以调用toString
或根据您真正使用的信息组合其他可用方法 . 更多信息:Java doc for Request
Source for dispatch
Dispatch基于Netty.io,它完全实现了sl4j日志记录 . 已通过以下方式为您完成调试日志记录:
Beware ,它记录了一个废话 LOT . 我假设您使用
ch.qos.logback
进行日志记录:转到
src/main/resources
,创建一个名为default.logback.xml
的文件,并将以下内容添加到其中: