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 后,程序运行时符合指定级别的日志信息将会输出到控制台上,供用户实时查看。

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

相关推荐
tedcloud1237 小时前
Wand-Enhancer 怎么搭建?开源 Wand 客户端增强与远程控制工具介绍
大数据·服务器·人工智能·开源·音视频
-SOLO-8 小时前
开发笔记-摸鱼输入法
笔记
大大大大晴天9 小时前
每天认识一个组件:分布式缓存Alluxio
大数据
AI_Auto10 小时前
架构视角看数字化转型|核心架构:大共享平台+小应用,从按需走向适变
大数据·人工智能·架构·制造
小蒋观天下10 小时前
社区AI智能摄像头完整选型指南
大数据·人工智能·安全·计算机视觉·语音识别·ai大模型
AI 思录10 小时前
Prompt 事故档案(八):日常表达被标为“待校准”,AI 的爹味语法从哪里来
大数据·人工智能·算法·prompt·用户体验·ai合规
疯狂打码的少年11 小时前
【计算机网络】TCP/IP协议族(四层体系结构,与OSI对比)
网络·笔记·tcp/ip·计算机网络
xqqxqxxq11 小时前
AI Agent学习:Agent协作工具技术笔记(李博杰《深入理解 AI Agent》4.6观后总结)
笔记·学习
2601_9657422212 小时前
全媒体运营与短视频代运营,两者有什么区别?
大数据·数据结构·人工智能·算法·ai·媒体
anxiao_m12 小时前
2026企业AI数字孪生选型攻略,不同场景对应不同解决方案
大数据·网络·数据库