问题描述:
为了抑制spark程序运行时在控制台输出的大量日志信息,我在main目录下的resources创建了
log4j.properties文件log4j.rootCategory=ERROR, console
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 the default spark-shell log level to ERROR. When running the spark-shell,the
# log level for this class is used to overwrite the root logger's log level, so that
# the user can have different defaults for the shell and regular Spark apps.
log4j.logger.org.apache.spark.repl.Main=ERROR
# Settings to quiet third party logs that are too verbose
log4j.logger.org.spark_project.jetty=ERROR
log4j.logger.org.spark_project.jetty.util.component.AbstractLifeCycle=ERROR
log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=ERROR
log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=ERROR
log4j.logger.org.apache.parquet=ERROR
log4j.logger.parquet=ERROR
# SPARK-9183: Settings to avoid annoying messages when looking up nonexistent UDFs in SparkSQL with Hive support
log4j.logger.org.apache.hadoop.hive.metastore.RetryingHMSHandler=FATAL
log4j.logger.org.apache.hadoop.hive.ql.exec.FunctionRegistry=ERROR
但是在文件中,只有前5行是橙色的,其他的都是灰色的,是不是意味着灰色部分的设置没有起作用?运行程序后还是会显示大量的日志信息:
Using spark's default log4j profile: org/apache/spark/log4j-defaults.properties
23/09/15 15:45:05 INFO SparkContext: Running Spark version 3.0.0
23/09/15 15:45:06 INFO ResourceUtils: ==============================================================
23/09/15 15:45:06 INFO ResourceUtils: Resources for spark.driver:
23/09/15 15:45:06 INFO ResourceUtils: ==============================================================
23/09/15 15:45:06 INFO SparkContext: Submitted application: RDD
解决办法:
由于有部分配置显示的是灰色,所以考虑是文件没有生效,在尝试了将log4j.properties改名到log4j.propertie再改回log4j.properties后发现配置信息都能显示成橙色,再次运行程序,发现日志信息已经不会显示了。