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

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

相关推荐
桑榆4163 小时前
双系统(Windows + Ubuntu)安装流程
linux·windows·ubuntu
青山是哪个青山7 小时前
LangChain 学习笔记(四):Message 与提示词模板
笔记·学习·langchain
guwentian7 小时前
Git Worktree 实战:用并行多 Agent 把开发提速 N 倍
大数据·git·elasticsearch·wroktree
乌恩大侠9 小时前
【AI-RAN】硬件产品:DELL 前传交换机
人工智能·spark·aerial·o-ru·ai-ran
Shell运维手记10 小时前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
2503_9317124810 小时前
OpenInsight领衔:企业AI数据分析平台(Data Agent/智能问数/智能数据报告)
大数据
朴马丁10 小时前
国际与国产PLM在精细化工赛道的布局:2026年主要厂商技术特色
大数据·运维·人工智能·流程行业plm·化工新材料
FakeOccupational11 小时前
【电路笔记 STM32】Cortex-M7 内核上的数据缓存(D-Cache)结构+MPU+DMA&Cache+STM32CubeMX配置
笔记·stm32·缓存
动词ing11 小时前
【学习笔记】C语言(数组指针与指针数组+字符数组+函数+参数传递+字符串作为形参+递归函数+指针函数+回调函数+结构体嵌套+内存动态分配函数)
c语言·笔记·学习
~央千澈~11 小时前
从“拟声”到“生成”:AI音效背后的技术原理·优雅草AI音乐·AI音乐技术研究
大数据·人工智能·ai·音频