log4j.properties运行sbt test时忽略

时间:2016-05-17 19:28:07

标签: scala apache-spark log4j sbt

我正在使用Scala中的Spark应用程序,它使用SBT进行构建。 Spark创建了非常详细的日志记录,我想在测试运行时忽略它。

我在src / test / resources下设置了log4j.properties文件,以及src / main / resources,其中包含以下内容:

# Set everything to be logged to the console
log4j.rootCategory=INFO, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{10}: %m%n

# Settings to quiet third party logs that are too verbose
log4j.logger.akka=ERROR
log4j.logger.Remoting=ERROR
log4j.logger.org.apache.spark=ERROR
log4j.logger.org.eclipse.jetty=ERROR

使用sbt test运行应用程序或运行完整应用程序时,它运行正常但仍记录与Spark相关的所有INFO级别语句

我是否在文件配置中缺少某些内容,或者我是否需要明确告诉sbt加载log4j.properties?我应该一起尝试一种新方法吗?

我也受到限制,因为应用程序需要能够在我们的CI环境和应用了日志记录设置的其他用户计算机上运行。这意味着需要在应用程序的git repo中包含和识别设置。

1 个答案:

答案 0 :(得分:-1)

请将您的log4j.properties复制到$SPARK_HOME/conf目录。这是火花装置使用的那个