2013-09-25 3 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

Update Чтобы понять больше о том, как 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

файл должен быть помещен в конф/folder и play будут использовать его. – mrkinds

+3

В качестве побочного примечания, $ {application.home} не определен для тестов игрового блока, поэтому было бы хорошо, если бы тесты интеграции с играми были созданы поддельным приложением, но для модульных тестов эта переменная не определена, поэтому файл журнала будет созданный в /application.home_IS_UNDEFINED/logs/application.log (проверен в игре 2.3.6) – mrkinds

+1

Для более общей настройки рабочего журнала вы можете использовать синтаксис значения по умолчанию «: -» для замещения замещения в реестре: $ { application.home: -.} Документы: http://logback.qos.ch/manual/configuration.html#defaultValuesForVariables – Sam

Смежные вопросы