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.rootCategory 为 log4j.rootCategory=ERROR, console 时,表示只输出 ERROR 级别及以上的日志信息到控制台,其他低于 ERROR 级别的日志信息将不会在控制台显示。

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

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

相关推荐
不是万能的豆学长7 小时前
filetidy 文件整理助手:一键归类 + 规范重命名(Python 零依赖单文件工具)
大数据·开发语言·python·技术美术
ACP广源盛1392462567312 小时前
Type-C 扩展坞方案选型笔记:DP1.4 转 HDMI2.0 桥接方案评估@ACP
笔记·硬件架构·hdmi·国产芯片·扩展坞
库库的数据库笔记13 小时前
国产信创数据库的MySQL兼容性深度对比解析
大数据·数据库·mysql·oceanbase·政务
ss27314 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 22 PostgreSQL实例与集群
数据库·笔记·postgresql
ss27314 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 21 PostgreSQL进程与内存架构介绍
数据库·笔记·postgresql
Elastic 中国社区官方博客14 小时前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es
珠海西格电力16 小时前
零碳园区管理系统的性能评估体系的行业标准
大数据·网络·人工智能·物联网·机器学习·架构·能源
杨先生哦16 小时前
SOC告警研判实战:海量告警降噪、误报甄别、内网风险处置全流程(上岗必用)
大数据
一线数智16 小时前
朱鹰:人的判断力,比算力更重要
大数据·人工智能
摇滚侠17 小时前
《Java并发编程之美》第 4 章 Java 并发包中原子操作类原理剖析 阅读笔记 7
java·笔记·python