log4j 无法为pysark作业启用INFO日志记录

lzfw57am  于 2022-11-06  发布在  其他
关注(0)|答案(2)|浏览(137)

需要启用INFO日志记录以获取详细信息,但只能捕获错误和警告。
日志4j.root类别=信息,控制台,服务器,文件日志4j.appender.console =org.apache.log4j.ConsoleAppender log4j.appender.console.target =系统错误日志4j.appender.console.layout =org.apache.log4j.PatternLayout日志4j.appender.console.layout.ConversionPattern =%p %c{1}:%m%n个

设置以使过于冗长的第三方日志安静下来。

服务器=网络连接端口=4712远程主机=重新连接延迟=10000

log4j.rootLogger =调试,文件log4j.appender.file=org.apache.log4j.rollingFileAppender log4j.appender.file.文件=/数据/源/日志/服务提醒.日志log4j.appender.file.最大文件大小= 10 MB log4j.appender.file.最大备份索引=10 log4j.appender.file.阈值=调试log4j.appender.file.布局=org.apache.log4j.PatternLayout log4j.appender.file.布局.转换模式=%d{yyyy-MM-dd HH:mm:ss.SSS} [%线程] %5p %c{7} - %m%n

如果您有任何问题,请与我们联系。
如果您有任何问题,请与我们联系。
PFB代码段。

log4jLogger = sc._jvm.org.apache.log4j
LOGGER = log4jLogger.LogManager.getLogger(__name__)

LOGGER.info("pyspark script testing INFO")
LOGGER.warn("pyspark script testing WARN")
LOGGER.error("pyspark script testing ERROR")

提前感谢!

uqcuzwp8

uqcuzwp81#

在scala api中,您将拥有:

spark.sparkContext.setLogLevel("INFO")

也许pythonapi是same

tkclm6bt

tkclm6bt2#

我把一个简单的解决方案作为一个注解。然而,有不同的应用程序记录信息。所以,你可以更细,并为每个设置不同的级别。例如:

logManager = sc._jvm.org.apache.log4j.LogManager

logManager.getLogger("org.apche").setLevel(Level.INFO)
logManager.getLogger("org.apache.spark").setLevel(Level.WARN)
logManager.getLogger("org.spark-project").setLevel(Level.ERROR)

相关问题