如何从预定笔记本登录到 kernel-pyspark-*.log?
how to log to the kernel-pyspark-*.log from a scheduled notebook?
在我的笔记本中,我设置了一个日志实用程序,这样我就可以 :
# utility method for logging
log4jLogger = sc._jvm.org.apache.log4j
LOGGER = log4jLogger.LogManager.getLogger("CloudantRecommender")
def info(*args):
# sends output to notebook
print(args)
# sends output to kernel log file
LOGGER.info(args)
像这样使用它:
info("some log output")
如果我检查日志文件,我可以看到我的注销正在写入:
! grep 'CloudantRecommender' $HOME/logs/notebook/*pyspark*
kernel-pyspark-20170105_164844.log:17/01/05 10:49:08 INFO CloudantRecommender: [Starting load from Cloudant: , 2017-01-05 10:49:08]
kernel-pyspark-20170105_164844.log:17/01/05 10:53:21 INFO CloudantRecommender: [Finished load from Cloudant: , 2017-01-05 10:53:21]
但是,当笔记本作为计划作业运行时,日志输出似乎不会进入 kernel-pyspark-*.log 文件。
如何在 DSX 预定笔记本中写入日志输出以进行调试?
记录代码实际上工作正常。问题是计划指向旧版本的笔记本,其中没有任何日志记录语句!
在我的笔记本中,我设置了一个日志实用程序,这样我就可以
# utility method for logging
log4jLogger = sc._jvm.org.apache.log4j
LOGGER = log4jLogger.LogManager.getLogger("CloudantRecommender")
def info(*args):
# sends output to notebook
print(args)
# sends output to kernel log file
LOGGER.info(args)
像这样使用它:
info("some log output")
如果我检查日志文件,我可以看到我的注销正在写入:
! grep 'CloudantRecommender' $HOME/logs/notebook/*pyspark*
kernel-pyspark-20170105_164844.log:17/01/05 10:49:08 INFO CloudantRecommender: [Starting load from Cloudant: , 2017-01-05 10:49:08]
kernel-pyspark-20170105_164844.log:17/01/05 10:53:21 INFO CloudantRecommender: [Finished load from Cloudant: , 2017-01-05 10:53:21]
但是,当笔记本作为计划作业运行时,日志输出似乎不会进入 kernel-pyspark-*.log 文件。
如何在 DSX 预定笔记本中写入日志输出以进行调试?
记录代码实际上工作正常。问题是计划指向旧版本的笔记本,其中没有任何日志记录语句!