1. 程式人生 > >Spark日誌級別修改

Spark日誌級別修改

摘要

在學習使用Spark的過程中,總是想對內部執行過程作深入的瞭解,其中DEBUGTRACE級別的日誌可以為我們提供詳細和有用的資訊,那麼如何進行合理設定呢,不復雜但也絕不是將一個INFO換為TRACE那麼簡單。

主要問題

調整Spark日誌級別的配置檔案是$SPARK_HOME/conf/log4j.properties,預設級別是INFO,如果曾經將其改為DEBUG的朋友可能會有這樣的經歷,有用的資訊還沒看完,就被大量的心跳檢測日誌給淹沒了。

解決辦法

只將需要的日誌級別調整為_TRACE_,而將心跳檢測類的設定為_INFO_級別以上,避免干擾。

log4j.properties示範

# Set everything to be logged to the console
   log4j.rootCategory=INFO, 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.eclipse.jetty=WARN
   log4j.logger.org.eclipse.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.spark.sql.SQLContext=TRACE
   log4j.logger.org.apache.spark.sql.catalyst.analysis.Analyzer=TRACE
   log4j.logger.org.apache.spark=TRACE
   log4j.logger.org.apache.spark.storage.BlockManagerMasterActor=WARN
   log4j.logger.org.apache.spark.HeartbeatReceiver=WARN
   log4j.logger.org.apache.spark.scheduler.local.LocalActor=WARN