You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在IntelliJ IDEA中运行Scala代码时如何过滤红色日志,仅查看自定义打印内容

过滤IntelliJ IDEA中Scala/Spark运行时的冗余日志,只保留自定义println输出

我太懂这种被一堆红色Spark日志淹没自己输出的烦躁了!明明只想看自己println的内容,结果全是各种INFO SparkContext这类系统日志,下面给你几个实用的解决办法:

方法1:修改Spark日志配置文件(持久化方案)

创建一个log4j.properties文件,把它放到项目的src/main/resources目录下,内容如下:

log4j.rootLogger=ERROR, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

这个配置把全局日志级别设为ERROR,只有错误级别的系统日志才会输出,那些INFO级别的红色日志会被直接过滤掉,而你用println输出的内容是直接打印到System.out的,完全不受影响。

方法2:代码中动态设置日志级别(快速调试方案)

如果不想加配置文件,可以在初始化SparkContext之前,直接在代码里加上这段日志级别设置:

import org.apache.log4j.{Level, Logger}

// 过滤掉org和akka包下的INFO及以下级别日志
Logger.getLogger("org").setLevel(Level.ERROR)
Logger.getLogger("akka").setLevel(Level.ERROR)

这样运行时就只会输出ERROR级别的系统日志,你的自定义println内容会清晰显示在输出窗口里。

方法3:用IntelliJ自带的输出过滤功能(临时过滤方案)

如果只是临时想过滤日志,不用改代码或配置,直接用IntelliJ Run窗口的过滤功能:

  • 点击Run窗口右上角的漏斗图标(Filter)
  • 选择「Edit Filter Configuration」
  • 可以添加包含规则(比如只显示包含你自定义输出关键词的内容),或者排除规则(比如排除包含INFO SparkContext的日志)
  • 也可以直接选择「Show only application logs」,让IntelliJ自动过滤掉框架级别的日志

内容的提问来源于stack exchange,提问作者JetS79

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:25:13