Есть ли способ отсоединить регистратор SparkContext по умолчанию от моего специального регистратора, определенного в основном классе? - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь отключить журналы по умолчанию для контекста Spark в моем приложении, потому что они слишком многословны, я пытался отключить уровень журнала для контекста Spark, проблема в том, что когда я это делаю,это также отключает журналы моего основного класса.

Я определил FileAppender для регистратора моего класса, но он не регистрирует никакой информации.Кажется, что каким-то образом логер моего FileNormalizer объекта привязан к логам контекста искры.Есть ли способ исправить это поведение?

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

}
...