我正在尝试获取spark以便在催化剂经历的每个迭代中打印出sql计划,我正在使用spark 2.3.1并查看它在每次成功的迭代中执行跟踪日志的源:
我正在尝试配置安装程序,以便在调试时将这些日志保存到单独的文件中,以便可以更好地了解发生的情况。浏览文档,似乎以下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”,也不会创建该文件名。 。日志实际上仍显示在标准输出中。
我在做什么错了?