【发布时间】:2018-04-07 01:34:14
【问题描述】:
我正在运行要通过 vi spark-submit 提交的 scala Spark 应用程序:
spark-submit --class "com.foo.bar.MyClass" \
--master yarn \
--driver-memory 1g \
--executor-memory 1g \
--num-executors 2 \
--executor-cores 2 \
--jars <path-to>/MyJar.jar \
<path-to>/MyJar.jar
我几乎尝试了所有我能想到或找到的 log4j 配置 here、here、here 和 here 等等。我在我的代码中加入了以下几行:
Logger.getRootLogger().setLevel(Level.WARN)
除此之外,还试图抑制单个类。
我还在我的 Main 中放了一行输出来证明它处于什么级别:
println("Log level = " + LogManager.getRootLogger.getLevel())
它将显示我将值更改为的任何内容。如果我更改上面的 setlevel 代码行,它总是会打印出该值,如果我取出代码行,它将打印我在 SPARK_HOME/conf/log4j.properties 文件中的任何内容,如果我添加了 -- conf "spark.driver.extraJavaOptions" 行,它将显示我放在那里的内容。
最重要的是,我可以更改任何这些设置,并且应用程序会打印出设置的日志级别,但无论如何,我都会从 Spark 获得 MB 的日志记录。
关于如何禁用 Spark 的所有详细日志记录的任何其他建议?
【问题讨论】:
标签: scala apache-spark log4j