Spark通过修改日志信息显示级别来避免其他信息的干扰

一、问题描述

在执行Spark独立应用程序时,命令执行过程会产生很多其他信息,执行结果与其他信息混合在一起显示,如下所示:

二、解决办法

为了直接看到程序运行结果,避免其他多余信息的干扰,可以修改log4j的日志信息显示级别:

bash 复制代码
cd /usr/local/spark/conf
sudo cp log4j.properties.template log4j.properties
vim log4j.properties

使用vim编辑器打开log4j.properties文件后,把其中的如下信息:

bash 复制代码
log4j.rootCategory=INFO, console

修改为:

bash 复制代码
log4j.rootCategory=ERROR, console

保存并退出vim编辑器,再次执行程序即可看到不会显示执行过程中的INFO级别的信息,只会包含程序自己的控制台输出信息。

修改过后再次执行:

在终端执行:

在pycharm执行:

三、问题分析

log4j.properties 文件中,可以将 log4j.rootCategory 的值修改为以下任何一种日志级别(从低到高排序):

  • ALL: 打开所有日志级别
  • DEBUG: 调试信息,最详细的日志级别
  • INFO: 提示性消息,常用于表明应用程序运行正常
  • WARN: 警告信息,表明可能出现问题
  • ERROR: 错误信息,指出发生了错误但程序仍能继续运行
  • FATAL: 严重错误信息,表明发生了严重错误导致程序无法继续运行
  • OFF: 关闭所有日志级别

例如,如果你想将日志级别设置为 WARN,则可以将 log4j.rootCategory 修改为 log4j.rootCategory=WARN, console

当修改 log4j.rootCategorylog4j.rootCategory=ERROR, console 时,表示只输出 ERROR 级别及以上的日志信息到控制台,其他低于 ERROR 级别的日志信息将不会在控制台显示。

在 log4j.properties 文件中,console 表示将日志输出到控制台(Console)。当你设置日志级别并指定 console 后,程序运行时符合指定级别的日志信息将会输出到控制台上,供用户实时查看。

控制台是一个文本界面,通常用于显示程序的输出,包括日志信息、错误信息等。通过将日志信息输出到控制台,用户可以实时查看程序的运行状态和可能出现的问题,有助于进行调试和监控。

相关推荐
lingggggaaaa19 分钟前
小迪安全学习笔记(一百零二讲)—— 漏扫项目篇&PoC开发&Yaml语法&插件一键生成&匹配结果&交互提取
笔记·学习·安全·网络安全·交互
gb42152871 小时前
elasticsearch索引多长时间刷新一次(智能刷新索引根据数据条数去更新)
大数据·elasticsearch·jenkins
肥肠可耐的西西公主2 小时前
后端(JavaWeb)学习笔记(CLASS 2):SpringBootWeb入门
笔记·学习
白云偷星子2 小时前
MySQL笔记11
数据库·笔记·mysql
IT毕设梦工厂2 小时前
大数据毕业设计选题推荐-基于大数据的人体生理指标管理数据可视化分析系统-Hadoop-Spark-数据可视化-BigData
大数据·hadoop·信息可视化·spark·毕业设计·源码·bigdata
半夏知半秋2 小时前
skynet.newservice接口分析
笔记·后端·学习·安全架构
数在表哥2 小时前
从数据沼泽到智能决策:数据驱动与AI融合的中台建设方法论与技术实践指南(四)
大数据·人工智能
爱思德学术3 小时前
中国计算机学会(CCF)推荐学术会议-C(数据库/数据挖掘/内容检索):PAKDD 2026
大数据·机器学习·数据挖掘·知识发现
立志成为大牛的小牛3 小时前
数据结构——十四、构造二叉树(王道408)
数据结构·笔记·学习·程序人生·考研
RanceGru3 小时前
LLM学习笔记5——本地部署ComfyUI和Wan2.1-T2V-1.3B文生视频模型
笔记·学习·stable diffusion·transformer