2013-09-25 39 views

回答

18

我還沒有這樣做,但你必須配置的logback配置文件。欲瞭解更多信息,播放文件:http://www.playframework.com/documentation/2.2.x/SettingsLogger

一旦你定義一個特定的logback的配置文件,這需要放置在測試包,看到這個問題的詳細信息:https://github.com/playframework/playframework/issues/1669#issuecomment-24452132

見信息從@benmccann您可以通過在測試/資源中放置一個logback-test.xml來配置記錄器處於測試模式(花費我數小時才能弄清楚!)。

6

更新要了解更多關於如何的logback配置應該-Dlogback.debug=true屬性傳遞到JVM /播放。這可以爲你節省數小時的時間。

添加在test/logback-test.xml文件(必須在類路徑,以便它可能依賴於遊戲應用程序的配置方式找到測試資源)與內容一樣

<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

文件必須放置在conf /文件夾和播放將使用它。 – mrkinds

+3

作爲一個方面說明,$ {application.home}沒有爲玩遊戲單元測試定義,所以玩遊戲集成測試可以創建一個假應用程序,但對於未定義變量的單元測試來說應該是可行的,因此日誌文件將會是創建於 /application.home_IS_UNDEFINED/logs/application.log(在Play 2.3.6上測試) – mrkinds

+1

對於更一般的工作日誌設置,可以使用缺省值語法「: - 」進行logback變量替換:$ { application.home: - 。}文檔:http://logback.qos.ch/manual/configuration.html#defaultValuesForVariables – Sam