在Spark中禁用特定应用程序的INFO消息

时间:2018-02-04 11:39:14

标签: apache-spark log4j

我尝试在特定应用程序中禁用Spark中的INFO消息,但我无法,我仍然看到它。

我尝试的代码来自:How to stop messages displaying on spark console?

import org.apache.log4j.Logger
import org.apache.log4j.Level

Logger.getLogger("org").setLevel(Level.OFF)
Logger.getLogger("akka").setLevel(Level.OFF)`

我还在Spark安装目录中编辑了log4j文件,其中包含:

log4j.rootCategory=WARN, console

它有效!但它不是我想要的解决方案......我想禁用每个应用程序的INFO消息。

有何评论?谢谢!!

1 个答案:

答案 0 :(得分:3)

你必须这样做:

import org.apache.log4j.Logger
import org.apache.log4j.Level

Logger.getLogger("org").setLevel(Level.OFF)
Logger.getLogger("akka").setLevel(Level.OFF)
创建 SparkContext 之前

做这样的事情:

Logger.getLogger("org").setLevel(Level.OFF)
Logger.getLogger("akka").setLevel(Level.OFF)
val sc = new SparkContext(conf)

此外,您可以使用getRootLogger方法:

Logger.getRootLogger().setLevel(Level.ERROR)