我在玩spray.io,我无法使喷雾调试指令logRequestResponse工作-我在日志中看不到任何输出。
val route: Route = {
pathPrefix("city") {
pathPrefix("v1") {
path("transaction" / Segment / Segment) {
(siteId: String, transactionId: String) =>
post {
authenticate(BasicAuth(UserPasswordAuthenticator _, realm = "bd cinema import api")) {
user =>
DebuggingDirectives.logRequestResponse("city-trans", Logging.InfoLevel) {
val resp = "Hello"
complete {
resp
}
}
}
}
}
}
}
}我是不是漏掉了什么?是否需要在喷雾配置中的全局位置启用调试?我试过不同的地方,但都没有像预期的那样工作。
发布于 2015-07-28 15:44:34
检查在您的application.conf和logback.xml上有合理的值,因为这些示例文件在Spray项目中
关注akka.loglevel=INFO application.conf
akka {
log-config-on-start = on
loglevel = "INFO"
actor.timeoutsecs = 2
loggers = ["akka.event.slf4j.Slf4jLogger"]
}用于在logback.xml上显示日志的最低限度的stdout。
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<target>System.out</target>
<encoder>
<pattern>[%d{dd/MM/yyyy HH:mm:ss.SSS}] [%level] [%thread] %logger{36} - %msg %n</pattern>
<!--<pattern>%X{akkaTimestamp} %-5level[%thread] %logger{0} - %msg%n</pattern>-->
</encoder>
</appender>
<!-- <logger name="com.vegatic" level="DEBUG"/> -->
<root level="DEBUG">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>通常的猜测是logger的name属性与Scala名称空间不匹配,或者不够详细,为了清晰起见,上面的例子中已经对这些属性进行了注释。
用于LoggingContext的Docs链接
始终可以隐式提供的LoggingAdapter。如果隐式ActorSystem,则创建的LoggingContext转发到系统的日志。如果隐式ActorContext在作用域中,则创建的LoggingContext使用上下文的ActorRef作为日志源。否则,如果没有隐式可用的ActorSystem或ActorContext,则创建的LoggingContext将转发给NoLogging,即"/dev/null“。
https://stackoverflow.com/questions/31678400
复制相似问题