Intellij 中的 ScalaTest 不打印控制台消息

标签 scala intellij-idea scalatest

我正在运行使用 ScalaTest 的 Spark 测试。他们在命令行上使用以下命令非常健谈(顺便说一句 -Dtest= 显然被忽略 - 所有核心测试都正在运行..):

 mvn -Pyarn -Phive test -pl core -Dtest=org.apache.spark.MapOutputTrackerSuite

有几千行输出,这里尝尝:

7:03:30.251 INFO org.apache.spark.scheduler.TaskSetManager: Finished TID 4417 in 23 ms on localhost (progress: 4/4)
17:03:30.252 INFO org.apache.spark.scheduler.TaskSchedulerImpl: Removed TaskSet 38.0, whose tasks have all completed, from pool 
17:03:30.252 INFO org.apache.spark.scheduler.DAGScheduler: Completed ResultTask(38, 3)
17:03:30.252 INFO org.apache.spark.scheduler.DAGScheduler: Stage 38 (apply at Transformer.scala:22) finished in 0.050 s
17:03:30.288 INFO org.apache.spark.ui.SparkUI: Stopped Spark web UI at http://localhost:4041
17:03:30.289 INFO org.apache.spark.scheduler.DAGScheduler: Stopping DAGScheduler

但是,在 IJ 中,仅打印通过/失败测试。那么如何查看与在命令行上相同的喋喋不休的 INFO 级别输出呢?

最佳答案

log4j.properties 不在类路径中。我解决这个问题的方法:

(a) 在 test/resources 文件夹中创建 log4j.properties

(b) 以下 log4j.properties 文件对我有用:

# Set everything to be logged to the file bagel/target/unit-tests.log
log4j.rootCategory=DEBUG, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n

# Ignore messages below warning level from Jetty, because it's a bit verbose
# Settings to quiet third party logs that are too verbose
log4j.logger.org.eclipse.jetty=WARN
log4j.logger.org.eclipse.jetty.util.component.AbstractLifeCycle=ERROR
log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO
log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO

关于Intellij 中的 ScalaTest 不打印控制台消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24846153/

相关文章:

java - 强制正则表达式匹配可选组

scala - 如何在没有 ExecutionContext.global 和 IOApp 的情况下使用 cat 效果中的计时器?

scala - SBT:我可以有一个测试套件/ list 并仍然按需运行单独的测试吗?

gradle - 在Gradle中运行标记的ScalaTest测试

ScalaTest v3 : why require to implement convertToLegacyEqualizer

scala - 在 Scala 中使用函数值实现一个方法

scala - 如何设置 prod 模式以将配置文件放在 conf 目录中(而不是在 jar 内)?

java - 如何通过Maven添加hadoop依赖?我已经安装了 hadoop 并存在于我的 IDE 项目库中

java - 我如何在命令行中为 intellij 项目运行 java 类

java - Ubuntu 终端中的 Gradle 从版本 6 降级到版本 5