如何在Play Framework 2.2中配置记录器,以便在播放集成测试期间在控制台中看到日志输出?Play Framework 2.2输出到控制台的测试
Play Framework 2.1的配置不再有效。
BR刘若英
如何在Play Framework 2.2中配置记录器,以便在播放集成测试期间在控制台中看到日志输出?Play Framework 2.2输出到控制台的测试
Play Framework 2.1的配置不再有效。
BR刘若英
我还没有这样做,但你必须配置的logback配置文件。欲了解更多信息,播放文件:http://www.playframework.com/documentation/2.2.x/SettingsLogger
一旦你定义一个特定的logback的配置文件,这需要放置在测试包,看到这个问题的详细信息:https://github.com/playframework/playframework/issues/1669#issuecomment-24452132
见信息从@benmccann :您可以通过在测试/资源中放置一个logback-test.xml来配置记录器处于测试模式(花费我数小时才能弄清楚!)。
更新要了解更多关于如何的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>
文件必须放置在conf /文件夹和播放将使用它。 – mrkinds
作为一个方面说明,$ {application.home}没有为玩游戏单元测试定义,所以玩游戏集成测试可以创建一个假应用程序,但对于未定义变量的单元测试来说应该是可行的,因此日志文件将会是创建于 /application.home_IS_UNDEFINED/logs/application.log(在Play 2.3.6上测试) –
mrkinds
对于更一般的工作日志设置,可以使用缺省值语法“: - ”进行logback变量替换:$ { application.home: - 。}文档:http://logback.qos.ch/manual/configuration.html#defaultValuesForVariables – Sam