Spark не записывает информацию журнала трассировки в RollingFileAppender - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь получить искру, чтобы распечатать план sql на каждой итерации, через которую проходит катализатор, я использую искру 2.3.1 и смотрю на источник, который выполняет журнал трассировки на каждой успешной итерации:

https://github.com/apache/spark/blob/78801881c405de47f7e53eea3e0420dd69593dbd/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/rules/RuleExecutor.scala#L93

Я пытаюсь настроить мои настройки так, чтобы эти журналы во время отладки переходили в отдельный файл, чтобы я мог лучше понять, что происходит.Просматривая документацию, кажется, что следующие log4j.properties должны работать:

log4j.rootCategory=INFO, file
log4j.logger.org.apache.spark.sql.hive=TRACE, optimizer

#, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c (IT) - %m%n

#, log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=it.log
log4j.appender.file.MaxFileSize=200MB
log4j.appender.file.MaxBackupIndex=2
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L (l4j) - %m%n

#, optimizer debug file
log4j.appender.optimizer=org.apache.log4j.RollingFileAppender
log4j.appender.optimizer.File=optimizer.log
log4j.appender.optimizer.MaxFileSize=200MB
log4j.appender.optimizer.MaxBackupIndex=2
log4j.appender.optimizer.layout=org.apache.log4j.PatternLayout
log4j.appender.optimizer.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L (l4j) - %m%n

Если я пошагово выполняю код, я могу найти ссылки на имя файла, которое я указал в регистраторе, используемом вRuleExecutor, однако файл 'optimizer.log' никогда не создается, хотя выглядит так, как будто он записывается.Журнал на самом деле все еще появляется в stdout.

Что я делаю не так?

...