From thisStackOverflow 线程,我知道如何在 pyspark 中获取和使用 log4j 记录器,如下所示:
from pyspark import SparkContext
sc = SparkContext()
log4jLogger = sc._jvm.org.apache.log4j
LOGGER = log4jLogger.LogManager.getLogger('MYLOGGER')
LOGGER.info("pyspark script logger initialized")
这与火花提交 script.
我的问题是如何修改log4j.属性文件来配置日志级别这个特定的记录器或如何动态配置它?
关于如何通过 log4j.properties 文件配置 log4j 还有其他答案,但我还没有看到有人提到如何动态执行此操作,因此:
from pyspark import SparkContext
sc = SparkContext()
log4jLogger = sc._jvm.org.apache.log4j
LOGGER = log4jLogger.LogManager.getLogger('MYLOGGER')
# same call as you'd make in java, just using the py4j methods to do so
LOGGER.setLevel(log4jLogger.Level.WARN)
# will no longer print
LOGGER.info("pyspark script logger initialized")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)