gpt4 book ai didi

python-3.x - 删除启动消息以更改 Spark 日志级别

转载 作者:行者123 更新时间:2023-12-03 08:51:49 26 4
gpt4 key购买 nike

我正在使用 PySpark 运行 Python 脚本(和测试),并希望从日志中删除不相关的信息。

每次启动它们时,控制台中都会显示以下消息:

Setting default log level to "WARN".

To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).

怎样才能彻底删除它? (最好在 log4j.properties 中)


我已经尝试过:

我在 log4j.properties 中设置了 log4j.rootCategory=ERROR, console

按照消息所述执行 sc.setLogLevel(newLevel) 仅适用于以下日志,而不适用于脚本开头。

log4j.properties 中设置 log4j.logger.org.apache.spark=ERROR 不会删除该消息。

我搜索了很多,但找不到相关的配置。


来自Spark Github (在 Logging.scala 中),我可以看到有一个 silent 变量用于显示消息,但我找不到它的更改位置:

if (!silent) {
System.err.printf("Setting default log level to \"%s\".\n", replLevel)
System.err.println("To adjust logging level use sc.setLogLevel(newLevel). " +
"For SparkR, use setLogLevel(newLevel).")
}

预先感谢您的帮助,

最佳答案

我找到了解决方案!

就在我引用 Logging.scala 的代码之前,有:

if (replLevel != rootLogger.getEffectiveLevel()) {
if (!silent) {
...
}
}

这意味着可以将 replroot 记录器的日志级别设置为log4j.properties 中的不同之处可实现相同的结果:

log4j.rootCategory=WARN, console
log4j.logger.org.apache.spark.repl.Main=ERROR

您还可以添加 log4j.logger.org.apache.spark=ERROR 以删除 Spark 中可能出现的其他警告。

关于python-3.x - 删除启动消息以更改 Spark 日志级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58451752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com