Play Framework 2.2日志输出到测试控制台

时间:2013-09-25 07:56:26

标签: logging playframework-2.0

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

Play Framework 2.1的配置不再有效。

BR Rene

2 个答案:

答案 0 :(得分: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来配置测试模式的记录器(花了我几个小时才弄明白!)。 / em>的

答案 1 :(得分: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>