Eclipse
Spark-core的日志配置文件:log4j-defaults.propertie
从上图可以看出Spark-core包设置默认的日志级别为info,所以会输出非常多的日志一般我们会针对全局或局部做不同的配置
局部应用设置:针对SparkContext应用,Spark有专门的api设置日志级别,如下:上述方法,只针对SparkContext相关的应用,而对Spark-streaming等应用无效果。
全局应用设置:针对spark所有应用,可以Java工程目录中新建/src/main/resources目录,把log4j.properties放置该目录
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
在开发工程中,我们可以设置日志级别为WARN,即:log4j.rootCategory=WARN, console在生产环境可以配置成ERRORlog4j.rootCategory=ERROR