【发布时间】:2016-11-09 15:55:26
【问题描述】:
按照这里的问题:How do I log from my Python Spark script,我一直在努力得到:
a) 所有输出到日志文件中。 b) 从 pyspark 写入日志文件
对于 a) 我对配置文件进行了以下更改:
# Set everything to be logged to the console
log4j.rootCategory=ALL, file
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/home/xxx/spark-1.6.1/logging.log
log4j.appender.file.MaxFileSize=5000MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
这会产生输出,现在用于 b) 我想将自己的输入添加到 pyspark 的日志记录中,但我找不到写入日志的任何输出。这是我正在使用的代码:
import logging
logger = logging.getLogger('py4j')
#print(logger.handlers)
sh = logging.StreamHandler(sys.stdout)
sh.setLevel(logging.DEBUG)
logger.addHandler(sh)
logger.info("TESTING.....")
我可以在日志文件中找到输出,但没有“TESTING....”我也尝试过使用现有的记录器流,但这也不起作用。
import logging
logger = logging.getLogger('py4j')
logger.info("TESTING.....")
【问题讨论】:
标签: python logging apache-spark