如何更改执行程序的日志记录级别?

时间:2015-12-04 20:17:58

标签: java scala apache-spark log4j spark-streaming

Spark执行程序执行的所有类的默认日志记录级别似乎为INFO。我想根据需要将其更改为DEBUGWARN等。

我正在使用Spark Streaming 1.3.1但很快就会切换到1.4。

我在提交Spark Streaming作业的shell脚本中有以下行:

export SPARK_JAVA_OPTS="-Dlog4j.configuration=file:./log4j.properties"

这允许我更改在驱动程序中运行的类的日志记录级别,但不能在执行程序中更改。

如何控制执行程序运行的类的日志记录?

注意:我们没有使用Yarn。我们在EC2上开始使用我们自己的Spark集群。

注意:理想情况下,我们希望在Streaming进程仍在运行时更改日志记录级别。如果那是不可能的,至少我们应该能够改变一些属性文件。重新编译代码&重新部署不是一种选择。

1 个答案:

答案 0 :(得分:0)

tl; dr conf/log4j.properties更改为适当的级别并将文件分发给员工。

当您提交Spark应用程序时,--files的{​​{1}}命令行选项可能会运气不错。它允许您更改每个应用程序的日志记录级这只是猜测,因为我还没有尝试过。