有没有办法将默认的SparkContext记录器与主类中定义的自定义记录器分离?

时间:2018-12-21 08:48:37

标签: apache-spark logging log4j

我试图在我的应用程序中关闭Spark Context的默认日志,因为它们太冗长,我试图将Spark Context的日志级别设置为off,问题是当我这样做时,它还会关闭我主班的日志。

我为班级记录器定义了FileAppender,但它没有记录任何信息。看来我的FileNormalizer对象的记录器以某种方式附加到spark上下文的日志。有什么办法可以解决此问题?

object FileNormalizer {
  val logger: Logger = Logger.getLogger(getClass)
  val fa = new FileAppender()
  fa.setName("FileLogger")
  fa.setFile("mylog.log")
  fa.setLayout(new PatternLayout("%d %-5p [%c{1}] %m%n"))
  fa.setThreshold(Level.INFO)
  fa.setAppend(true)
  fa.activateOptions
  logger.addAppender(fa)
  val sc = new SparkContext()
  sc.setLogLevel("OFF")

  logger.info("Starting FileNormalizer")

  val fa = new FileAppender()
  fa.setName("FileLogger")
  fa.setFile("mylog.log")
  fa.setLayout(new PatternLayout("%d %-5p [%c{1}] %m%n"))
  fa.setThreshold(Level.INFO)
  fa.setAppend(true)
  fa.activateOptions

}

0 个答案:

没有答案