播放 - 在 运行 测试时禁用 Slick 日志记录

Play - Disable Slick logging while running tests

我已将以下内容添加到我的 logback.xml 文件中,该文件记录了 Slick 进行的查询:

<!-- Inside logback.xml -->
<logger name="slick" level="INFO" />
<logger name="slick.jdbc" level="DEBUG" />

如何在 运行 我的测试中禁用它? (sbt test)

如果你的测试不是 forking a new JVM, it will be suffice to pass the logger.resource parameter when running the tests, like documented here:

sbt -Dlogger.resource=logback-test.xml test

当然,您需要创建一个具有所需配置的 conf/loback-test.xml 文件。免责声明:我不能百分百确定您是否需要上面的命令或下面的命令:

sbt -J-Dlogger.resource=logback-test.xml test

如果您正在为 运行 测试分叉(fork := true 在您的 build.sbt 中)一个新的 JVM,那么您需要 configure the parameter above to the forked JVM。为此,请将以下行添加到您的 build.sbt:

javaOptions in test += "-Dlogger.resource=logback-test.xml"

同样,您需要创建 conf/logback-test.xml 文件。

它不适用于我的 sbt -Dlogger.resource(或 -Dlogger.file)。

尽管我没有为 运行 测试创建新的 JVM,但唯一可行的方法是:

javaOptions in Test += "-Dlogger.resource=logback-test.xml"

添加到我的build.sbt

请注意,它是 in Test 加上大写的 T。