我想停止各种消息都是在火花壳。
我尝试编辑log4j。属性文件,以停止这些消息。
下面是log4j.properties的内容
# Define the root logger with appender file
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.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
但是消息仍然显示在控制台上。
下面是一些示例消息
15/01/05 15:11:45 INFO SparkEnv: Registering BlockManagerMaster
15/01/05 15:11:45 INFO DiskBlockManager: Created local directory at /tmp/spark-local-20150105151145-b1ba
15/01/05 15:11:45 INFO MemoryStore: MemoryStore started with capacity 0.0 B.
15/01/05 15:11:45 INFO ConnectionManager: Bound socket to port 44728 with id = ConnectionManagerId(192.168.100.85,44728)
15/01/05 15:11:45 INFO BlockManagerMaster: Trying to register BlockManager
15/01/05 15:11:45 INFO BlockManagerMasterActor$BlockManagerInfo: Registering block manager 192.168.100.85:44728 with 0.0 B RAM
15/01/05 15:11:45 INFO BlockManagerMaster: Registered BlockManager
15/01/05 15:11:45 INFO HttpServer: Starting HTTP Server
15/01/05 15:11:45 INFO HttpBroadcast: Broadcast server star
我怎么阻止这些?
博士tl;
对于Spark Context,您可以使用:
sc.setLogLevel (< logLevel >)
其中loglevel可以是ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE或
警告。
细节- - - - - -
在内部,setLogLevel调用org.apache.log4j.Level.toLevel(logLevel),然后使用org.apache.log4j.LogManager.getRootLogger(). setlevel (level)进行设置。
您可以使用以下方法直接将日志级别设置为OFF:
LogManager.getLogger(“org”).setLevel (Level.OFF)
您可以在conf/log4j.properties中设置Spark shell的默认日志记录。使用conf / log4j . properties。模板作为起点。
在Spark应用程序中设置日志级别
在独立的Spark应用程序中或在Spark Shell会话中,使用以下命令:
import org.apache.log4j.{Level, Logger}
Logger.getLogger(classOf[RackResolver]).getLevel
Logger.getLogger("org").setLevel(Level.OFF)
Logger.getLogger("akka").setLevel(Level.OFF)
禁用日志记录(在log4j中):
在conf/log4j中使用以下命令。属性完全禁用日志记录:
log4j.logger.org=OFF
参考:Jacek Laskowski的Mastering Spark。
编辑conf/log4j。属性文件,并更改以下行:
log4j.rootCategory=INFO, console
to
log4j.rootCategory=ERROR, console
另一种方法是:
启动spark-shell并输入以下内容:
import org.apache.log4j.Logger
import org.apache.log4j.Level
Logger.getLogger("org").setLevel(Level.OFF)
Logger.getLogger("akka").setLevel(Level.OFF)
之后你就看不到任何日志了。
Level的其他选项包括:all、debug、error、fatal、info、off、trace、trace_int、warn
详细信息可以在文档中找到。
博士tl;
对于Spark Context,您可以使用:
sc.setLogLevel (< logLevel >)
其中loglevel可以是ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE或
警告。
细节- - - - - -
在内部,setLogLevel调用org.apache.log4j.Level.toLevel(logLevel),然后使用org.apache.log4j.LogManager.getRootLogger(). setlevel (level)进行设置。
您可以使用以下方法直接将日志级别设置为OFF:
LogManager.getLogger(“org”).setLevel (Level.OFF)
您可以在conf/log4j.properties中设置Spark shell的默认日志记录。使用conf / log4j . properties。模板作为起点。
在Spark应用程序中设置日志级别
在独立的Spark应用程序中或在Spark Shell会话中,使用以下命令:
import org.apache.log4j.{Level, Logger}
Logger.getLogger(classOf[RackResolver]).getLevel
Logger.getLogger("org").setLevel(Level.OFF)
Logger.getLogger("akka").setLevel(Level.OFF)
禁用日志记录(在log4j中):
在conf/log4j中使用以下命令。属性完全禁用日志记录:
log4j.logger.org=OFF
参考:Jacek Laskowski的Mastering Spark。