14

如何在 Play Framework 2.2 中配置记录器,以便在游戏集成测试期间在控制台中看到日志输出?

Play Framework 2.1 的配置不再起作用。

BR雷内

4

2 回答 2

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 来在测试模式下配置记录器(花了我几个小时才弄清楚!)。

于 2013-09-25T09:15:35.927 回答
6

更新要了解有关如何配置 logback 的更多信息,您应该将-Dlogback.debug=true属性传递给 jvm/play。这可能会为您节省数小时的调试时间。

添加一个文件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>
于 2014-03-01T15:45:09.920 回答