Python 3.x 删除启动消息以更改Spark日志级别
我正在用PySpark运行Python脚本(和测试),希望从日志中删除不相关的信息 每次启动它们时,控制台中都会显示以下消息: 将默认日志级别设置为“警告” 要调整日志记录级别,请使用sc.setLogLevel(newLevel)。对于SparkR,使用setLogLevel(newLevel) 我如何才能完全移除它?(理想情况下在log4j.属性中)Python 3.x 删除启动消息以更改Spark日志级别,python-3.x,apache-spark,pyspark,log4j,Python 3.x,Apache Spark,Pyspark,Log4j,我正在用PySpark运行Python脚本(和测试),希望从日志中删除不相关的信息 每次启动它们时,控制台中都会显示以下消息: 将默认日志级别设置为“警告” 要调整日志记录级别,请使用sc.setLogLevel(newLevel)。对于SparkR,使用setLogLevel(newLevel) 我如何才能完全移除它?(理想情况下在log4j.属性中) 我已经尝试过的: 我在log4j.properties中设置了log4j.rootCategory=ERROR,console 按照消息所述
我已经尝试过的: 我在log4j.properties中设置了
log4j.rootCategory=ERROR,console
按照消息所述执行sc.setLogLevel(newLevel)
,仅适用于以下日志,而不适用于脚本开头
在log4j.properties中设置log4j.logger.org.apache.spark=ERROR
不会删除该消息
我对此进行了大量搜索,但找不到相关配置
从(Logging.scala)中,我可以看到有一个
silent
变量用于显示消息,但我找不到它的更改位置:
如果(!静默){
System.err.printf(“将默认日志级别设置为\%s\”\n,replLevel)
System.err.println(“要调整日志记录级别,请使用sc.setLogLevel(newLevel)。”+
“对于SparkR,使用setLogLevel(newLevel)。”
}
提前感谢您的帮助,我找到了解决方案 就在我引用的代码之前,有:
if (replLevel != rootLogger.getEffectiveLevel()) {
if (!silent) {
...
}
}
这意味着不必尝试更改silent
变量,可以在log4j.properties中将repl
和root
记录器的日志级别设置为不同,以获得相同的结果:
log4j.rootCategory=WARN, console
log4j.logger.org.apache.spark.repl.Main=ERROR
您还可以添加log4j.logger.org.apache.spark=ERROR
,以删除spark中可能出现的其他警告。我找到了一个解决方案
就在我引用的代码之前,有:
if (replLevel != rootLogger.getEffectiveLevel()) {
if (!silent) {
...
}
}
这意味着不必尝试更改silent
变量,可以在log4j.properties中将repl
和root
记录器的日志级别设置为不同,以获得相同的结果:
log4j.rootCategory=WARN, console
log4j.logger.org.apache.spark.repl.Main=ERROR
您还可以添加log4j.logger.org.apache.spark=ERROR
,以删除spark中可能出现的其他警告