spark 如何设置日志级别

2025-10-29 12:25:22

1、Spark-core的日志配置文件:log4j-defaults.propertie

spark 如何设置日志级别

2、从上图可以看出Spark-core包设置默认的日志级别为info,所以会输出非常多的日志一般我们会针对全局或局部做不同的配置

3、局部应用设置:

针对SparkContext应用,Spark有专门的api设置日志级别,如下:

上述方法,只针对SparkContext相关的应用,而对Spark-streaming等应用无效果。

spark 如何设置日志级别

4、全局应用设置:针对spark所有应用,可以Java工程目录中新建/src/main/resources目录,把log4j.properties放置该目录

spark 如何设置日志级别

5、log4j.properties生成:

1. Spark中conf默认配置文件是log4j.properties.template,可以将其改名为log4j.properties;

2. 将Spark-core包中的log4j-default.properties内容复制到log4j.properties文件。

#log4j内容如下

# Set everything to be logged to the console  

log4j.rootCategory=WARN, 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  

  

# Settings to quiet third party logs that are too verbose  

log4j.logger.org.spark-project.jetty=WARN  

log4j.logger.org.spark-project.jetty.util.component.AbstractLifeCycle=ERROR  

log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO  

log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO  

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  

6、在开发工程中,我们可以设置日志级别为WARN,即:

log4j.rootCategory=WARN, console

在生产环境可以配置成ERROR

log4j.rootCategory=ERROR

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢