我正在使用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中包含和识别设置。
答案 0 :(得分:-1)
请将您的log4j.properties复制到$SPARK_HOME/conf
目录。这是火花装置使用的那个