1

私は 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
                     }                    
                   }
              }
            }
            }
      }
    }
  }

ここで何か不足していますか?スプレー構成のどこかでグローバルでデバッグを有効にする必要がありますか? さまざまな場所を試しましたが、どれも期待どおりに機能しませんでした

4

1 に答える 1

0

スプレー プロジェクトのこれらのサンプル ファイルとして、 application.conflogback.xmlに適切な値があることを確認します。

application.conf akka.loglevel= INFOに注意して ください

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>

通常の容疑者は、明確にするために上記の例にコメントされている Scala 名前空間に一致しない、または十分に冗長でないloggerの属性です。name

LoggingContextのドキュメント リンク

常に暗黙的に提供できる LoggingAdapter。暗黙の ActorSystem の場合、作成された LoggingContext はシステムのログに転送されます。暗黙的な ActorContext がスコープ内にある場合、作成された LoggingContext はコンテキストの ActorRef をログ ソースとして使用します。それ以外の場合、つまり ActorSystem も ActorContext も暗黙的に使用できない場合、作成された LoggingContext は NoLogging、つまり「/dev/null」に転送されます。

于 2015-07-28T15:44:34.703 に答える