沉默光滑的日志记录

Silence slick logging

当我 运行 我们的测试套件 slick 决定在调试级别登录时,这使得我们很难看到我们的测试输出并导致套件花费更长的时间。我不知道如何让它静音。我已经尝试按照 slick 手册中的建议使用 slf4j-nop,但似乎我们的项目使用了其他几个记录器,而 slick 正在使用其中一个。这是我们项目定义的相关部分:

  libraryDependencies ++= Seq(
    "org.apache.spark" %% "spark-mllib" % SparkVersion,
    "org.postgresql" % "postgresql" % "9.3-1101-jdbc41",
    "com.typesafe.slick" %% "slick" % "3.1.1",
    "com.typesafe.slick" %% "slick-hikaricp" % "3.1.1",
    "com.typesafe.slick" %% "slick-codegen" % "3.1.1"
  ),
  dependencyOverrides ++= Set(
    "org.slf4j" % "slf4j-api" % Slf4jVersion,
    "org.slf4j" % "jcl-over-slf4j" % Slf4jVersion,
    "org.slf4j" % "jul-to-slf4j" % Slf4jVersion
  ),
  dependencyOverrides in test := Set(
    "org.slf4j" % "slf4j-nop" % "1.6.4"), //no-op logger for slick

我已经尝试过的一些方法,none 其中有效:

只需将此行添加到您的 logback.xml:

<logger name="slick" level="WARN" />

Slick 使用 Log4j 进行日志记录。奇怪的是,只需向项目添加一个空 src/test/resources/log4j.properties 文件就足以在测试运行期间使其静音。