以编程方式减少火花壳中的日志

Ste*_*ane 2 shell scala apache-spark

我可以通过删除所有"INFO"标志以编程方式减少火花壳中的日志吗?它是垃圾邮件我的窗口,我无法分析实际输出例如:

15/01/09 12:23:02 INFO Executor: Finished task 0.0 in stage 0.0 (TID 0). 649 bytes result sent to driver
15/01/09 12:23:02 INFO TaskSetManager: Finished task 0.0 in stage 0.0 (TID 0) in 500 ms on localhost (1/1)
15/01/09 12:23:02 INFO DAGScheduler: Stage 0 (count at MainApp.scala:31) finished in 0.520 s
15/01/09 12:23:02 INFO TaskSchedulerImpl: Removed TaskSet 0.0, whose tasks have all completed, from pool 
15/01/09 12:23:02 INFO DAGScheduler: Job 0 finished: count at MainApp.scala:31, took 0.639191 s
Run Code Online (Sandbox Code Playgroud)

寻找任何替代品,如果你有一些!

Tob*_*ber 9

这会删除大多数信息消息(尽管不是全部)

import org.apache.log4j.{Level, Logger}
// ...
val level = Level.WARN
Logger.getLogger("org").setLevel(level)
Logger.getLogger("akka").setLevel(level)
Run Code Online (Sandbox Code Playgroud)

或者作为util方法:

def setLogLevel(level: String): Unit = {
  setLogLevel(Level.toLevel(level, Level.INFO))
}

def setLogLevel(level: Level): Unit = {
  Logger.getLogger("org").setLevel(level)
  Logger.getLogger("akka").setLevel(level)
}
Run Code Online (Sandbox Code Playgroud)

  • 或者甚至`val level = Level.ERROR`如果你想删除警告.[Here](https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html)是您可以使用的所有其他选项. (2认同)