删除启动消息以更改 Spark 日志级别
Remove startup message to change Spark log level
我正在 运行 Python 使用 PySpark 编写脚本(和测试)并希望从日志中删除不相关的信息。
每次启动它们时,我都会在控制台中显示以下消息:
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) {
...
}
}
这意味着不是尝试更改 silent
变量,而是可以将 repl
和 root
记录器的日志级别设置为 中的不同log4j.properties 达到相同的结果:
log4j.rootCategory=WARN, console
log4j.logger.org.apache.spark.repl.Main=ERROR
您还可以添加 log4j.logger.org.apache.spark=ERROR
以删除 Spark 中可能出现的其他警告。
我正在 运行 Python 使用 PySpark 编写脚本(和测试)并希望从日志中删除不相关的信息。
每次启动它们时,我都会在控制台中显示以下消息:
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) {
...
}
}
这意味着不是尝试更改 silent
变量,而是可以将 repl
和 root
记录器的日志级别设置为 中的不同log4j.properties 达到相同的结果:
log4j.rootCategory=WARN, console
log4j.logger.org.apache.spark.repl.Main=ERROR
您还可以添加 log4j.logger.org.apache.spark=ERROR
以删除 Spark 中可能出现的其他警告。