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

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

相关推荐
Xudde.43 分钟前
班级作业笔记报告0x04
笔记·学习·安全·web安全·php
蒸汽求职2 小时前
机器人软件工程(Robotics SDE):特斯拉Optimus落地引发的嵌入式C++与感知算法人才抢夺战
大数据·c++·算法·职场和发展·机器人·求职招聘·ai-native
诸葛务农2 小时前
AGI 主要技术路径及核心技术:归一融合及未来之路5
大数据·人工智能
zzh0813 小时前
MySQL高可用集群笔记
数据库·笔记·mysql
绛橘色的日落(。・∀・)ノ3 小时前
Matplotlib实践学习笔记
笔记·学习
chase。3 小时前
【学习笔记】AGILE:把人形机器人强化学习从“玄学”变成“工程学”
笔记·学习·敏捷流程
久菜盒子工作室4 小时前
高等教育学|第一章高等教育概述
经验分享·笔记·课程设计
J2虾虾4 小时前
数据分析师课程
大数据
tq10864 小时前
语言流形与思维共生:中西认知图景的差异与交融
笔记
YuanDaima20484 小时前
基于 LangChain 1.0 的检索增强生成(RAG)实战
人工智能·笔记·python·langchain·个人开发·langgraph