如何在调试级别的测试中使用 Spray 的 logRequestResponse?

How to use Spray's logRequestResponse in tests with debug level?

我正在尝试按照 this advice 来调试我的 Spray 路线,即使用 logRequestResponse。我正在使用调试日志记录级别。但是,控制台上没有出现调试消息。

首先,logRequestResponse 指令采用隐式 LoggingContext 参数。如果范围内有一个隐式 akka actor 系统,LoggingContext 将记录到一个隐式 akka actor 系统(请参阅它的 Scaladoc 以了解它在其他情况下的作用)。在 Spray Testkit 的范围内有一个隐式的 actor 系统,所以如果您正在使用它,那么它可能就是在范围内的系统。从标准位置(application.confreference.conf)加载,所以如果你想自定义配置,你可以做

override def testConfig = ...

无论从何处加载配置,它至少应包含

akka {
  loglevel = "DEBUG"
}

显示调试日志。

此外,请检查您的底层 slf4j 日志记录实现(例如 log4j)的配置文件,以查看日志语句的写入位置以及该配置文件中的最低日志级别是多少,因为这也会影响日志记录。