【发布时间】:2013-12-14 14:25:25
【问题描述】:
我对 Play 2 框架 Scala 应用程序使用的不同日志框架感到非常困惑 - 即使经过反复试验,我也没有找到一种方法来在使用 ' 运行应用程序之间提供单独的日志配置文件运行”和“测试”。
我们的应用程序使用play.api.Logger 实例来输出日志。我们还有其他各种播放插件,它们似乎是直接通过 logback 输出的。
到目前为止,我们一直在使用单个 conf/logger.xml(这是 logback 配置对吗?)文件成功控制日志输出。这会设置两个带有模式的附加程序并控制输出级别。通过'run' 执行应用程序时绝对没有问题。
如果我尝试提供替代的 conf/logger-test.xml 文件 - 使用 'test' 运行会忽略它。我试过这样做:
testOptions in Test ++= Seq(
Tests.Setup(() => {
println("Setting logger to logger-test.xml")
System.setProperty("logger.file", "conf/logger-test.xml")
})
),
在Build.scala,但这不会影响任何事情。
因此,为了了解正在使用的不同组件,http://www.playframework.com/documentation/2.2.x/SettingsLogger 似乎表明 a) play 实际上是在内部使用单独的日志框架,b) 然后将其推送到 logback。我不知道如何判断哪些实现被破坏了。
谁能帮助我了解 play 2 日志记录在这方面的工作原理,并通过它帮助我解决我的特定问题?从一些谷歌搜索来看,在使用'dist' 时,日志配置似乎也可能存在问题,但我还没有。
编辑:
我想知道this 是否有问题?还没有机会尝试。
【问题讨论】:
标签: unit-testing scala logging playframework playframework-2.2