2013-09-25 1 views

答えて

18

私はまだこれを行っていないが、あなたはlogback設定ファイルを設定する必要があります。詳細については、遊びのマニュアルを参照してください:http://www.playframework.com/documentation/2.2.x/SettingsLogger

あなたが特定のlogback設定ファイルを定義したら、これはテストパッケージに配置する必要があり、詳細についてはこの問題を参照してください。https://github.com/playframework/playframework/issues/1669#issuecomment-24452132

@benmccann からのメッセージを参照してください。 :あなたはtest/resourcesにlogback-test.xmlを置くことでテストモードでロガーを設定することができます。

6

更新あなたは、JVM /遊びに-Dlogback.debug=trueプロパティを渡す必要が設定されているかlogbackについての詳細を理解するために。これにより、時間を節約できます。

ファイルはconfの中に置かれなければなら

<configuration> 

    <conversionRule conversionWord="coloredLevel" 
     converterClass="play.api.Logger$ColoredLevel" /> 

    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
     <file>${application.home:-.}/logs/application.log</file> 
     <encoder> 
      <pattern>%date - [%level] - from %logger in %thread 
       %n%message%n%xException%n</pattern> 
     </encoder> 
    </appender> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
     <encoder> 
      <pattern>%coloredLevel %logger{15} - %message%n%xException{5}</pattern> 
     </encoder> 
    </appender> 

    <logger name="play" level="INFO" /> 
    <logger name="application" level="INFO" /> 

    <root level="ERROR"> 
     <appender-ref ref="STDOUT" /> 
     <appender-ref ref="FILE" /> 
    </root> 

</configuration> 
+0

のような内容で(それはプレイアプリケーションがテストリソースを見つけるために、どのように構成されるかに依存する場合がありますので、クラスパス上にある必要があります)test/logback-test.xml内のファイルを追加します。 /フォルダとそれを使用します。 – mrkinds

+3

補足として、$ {application.home}はプレイユニットテスト用に定義されていないため、偽のアプリケーションを作成した場合のプレー統合テストでは問題ありませんが、ユニットテストでは変数が定義されていないのでログファイルは /application.home_IS_UNDEFINED/logs/application.log(play 2.3.6でテスト済み) – mrkinds

+1

もっと一般的な作業ログの設定では、ログバック変数の置換にデフォルト値の構文 ": - "を使うことができます:$ { application.home: - 。}ドキュメント:http://logback.qos.ch/manual/configuration.html#defaultValuesForVariables – Sam

関連する問題