繁体   English   中英

努力在PySpark中获取日志文件输出

[英]Struggling to get logfile output in PySpark

在这里提出问题: 如何从我的Python Spark脚本登录 ,我一直在努力获得:

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.....")

适用于我的配置:

log4jLogger = sc._jvm.org.apache.log4j
LOGGER = log4jLogger.LogManager.getLogger(__name__)
LOGGER.info("Hello logger...")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM