如何在 Spark 3.3 上禁用 INFO 日志?

问题描述 投票:0回答:2

最近我将 Spark 版本更新到了 3.3。更新之前,我的 log4j.properties 工作正常,日志仅显示错误。但是更新后,我的 log4j.properties 不再起作用了。

这是我的 log4j.properties:

# Set root logger level to desired log level (DEBUG, INFO, WARN, ERROR, or FATAL)
log4j.rootLogger=ERROR, console

# Define console appender
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n

# Set log level for specific packages or classes
# For example, to set the log level to WARN for the org.apache.spark package:
log4j.logger.org.apache.spark=WARN
scala apache-spark logging log4j
2个回答
2
投票

显然 log4j.properties 不适用于 Spark 3.3。在执行了几次测试之后,我意识到 Spark 将一个名为 log4j2.default 的文件设置为默认值。因此,为了进行测试,我将 log4j.properties 更新为 log4j2.properties 并且它有效。


0
投票

您可以通过在 Spark 作业中设置日志级别以编程方式执行相同的操作

import org.apache.logging.log4j.core.config.Configurator
Configurator.setLevel("org", Level.ERROR.toString);
Configurator.setLevel("akka", Level.ERROR.toString);

通过这种方式,只会显示 org 和 akka 级别的错误日志,对于您放入自己的 Spark 作业中的任何其他日志,信息也会显示在日志中

© www.soinside.com 2019 - 2024. All rights reserved.