【发布时间】:2026-01-27 00:10:01
【问题描述】:
当我使用 Dispatch 库和 Scala 时,出于调试目的,如何在编写这样的语句后以文本形式打印出带有标头等的整个 HTTP 请求?
val svc = url("http://api.hostip.info/country.php")
【问题讨论】:
标签: scala http scala-dispatch
当我使用 Dispatch 库和 Scala 时,出于调试目的,如何在编写这样的语句后以文本形式打印出带有标头等的整个 HTTP 请求?
val svc = url("http://api.hostip.info/country.php")
【问题讨论】:
标签: scala http scala-dispatch
Dispatch 基于 Netty.io,它完全实现了 sl4j 日志外观。调试日志记录已通过以下方式为您完成:
com.ning.http.client
小心,它记录了 LOT 的废话。我假设您使用 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>
【讨论】:
假设您使用的是最新版本的库,url(...) 返回一个Req,它只是com.ning.http.client.RequestBuilder 的一个薄包装。您可以使用svc.toRequest 获取底层请求对象,然后您可以调用toString 或结合其他可用方法,具体取决于您真正想要的信息。更多信息:
【讨论】: