GrepConsole 插件使用
GrepConsole 是 IntelliJ IDEA 的一款实用日志工具插件,可通过自定义规则对控制台输出进行高亮、过滤和格式化,帮助我们快速定位关键信息(如错误、警告、特定关键词)
先看一组对比,这是IDEA正常日志输出,虽然还算清晰但是有时日志复杂还是挺费劲的,因为要从一堆白色日志中找关键信息

这是我给查询SQL配置了颜色后的效果,这个日志看起来轻松很多,而且你可以配置更多规则帮助快速获取关键信息,接下来说说怎么使用,其实这个插件除了高亮外还有过滤等功能,只不过我平时只使用高亮罢了

一、安装插件
- 打开IDEA,进入
File → Settings → Plugins
- 在 Marketplace 中搜索 Grep Console,点击安装

二、配置高亮规则
- 打开配置界面
安装完成后再控制台右边可以看到插件图标(确保有控制台有日志输出),点击可以进入配置界面

2.添加高亮规则
打开配置界面后,确保Highlighting勾选,然后在Highlighting标签页添加规则

default分组已经有了一些自带的规则,可以右键default然后点击duplicate复制一个分组并重命名,比如我有一个分组sql
3.编写对应规则
日志匹配规则采用正则表达式,比如我想高亮出日志中增删改查sql语句,就可以分别编写如下规则:
INSERT INTO.*
DELETE FROM.*
UPDATE.*SET.*
SELECT.*FROM.*
高亮的效果也有很多,每一列的作用如下,⚠️注意:表中注意事项仅代表我个人使用习惯
字段名 |
作用 |
示例/注意事项 |
Expression |
正则表达式,用于匹配控制台输出的文本 |
示例:ERROR.* (匹配所有以 ERROR 开头的行),可用 .* 匹配任意字符。 |
Unless expression |
正则表达式,用于排除的情况 |
示例:Expression设为.*Preparing.* 可以配置所有SQL语句,此时将这项设为.*select.* 就可以排除所有查询sql了 |
Whole line |
高亮效果是否应用到整行 |
一般不用,看情况 |
Case Sensitive |
匹配规则是否区分大小写 |
一般不勾选 |
Continue matching |
是否继续匹配,一行日志可能匹配到多个规则,启用后可以有多个高亮效果 |
一般勾选 |
Multiline |
启用后,当前效果一直往后面行延续 |
一般不用 |
Bold |
设置为粗体 |
看情况 |
Italic |
设置为斜体 |
一般不用 |
Background |
设置匹配文本的背景颜色 |
重点设置的对象 |
Foreground |
设置匹配文本的字体颜色 |
比较少用 |
Statusbar count |
开启后会在状态栏显示高亮命中个数 |
基本不用,需要在配置界面顶部勾选Show Status Bar statistics |
console count |
开启后会在控制台下面显示高亮命中个数 |
基本不用,需要在配置界面顶部勾选Show Console statistics |
sound |
命中后播放声音? |
不用 |
规则可以直接复制,选中一行或一组复制后可以直接在配置界面粘贴,下面是我的一些sql高亮配置,你可以直接复制然后在插件规则界面粘贴就可以导入,关于编写正则表达式可以问AI
<GrepConsoleItems> <option name="items"> <GrepExpressionGroup> <option name="grepExpressionItems"> <list> <GrepExpressionItem> <option name="action" /> <option name="caseInsensitive" value="false" /> <option name="clearConsole" value="false" /> <option name="continueMatching" value="false" /> <option name="defaultEnabled" value="true" /> <option name="defaultFilter" value="true" /> <option name="enabled" value="true" /> <option name="fold" value="false" /> <option name="foldPlaceholderTextPrefix" value="" /> <option name="grepExpression" value=".*Preparing.*" /> <option name="highlightOnlyMatchingText" value="false" /> <option name="inputFilter" value="false" /> <option name="multiline" value="false" /> <option name="name" /> <option name="operationOnMatch" value="EXIT" /> <option name="showCountInConsole" value="false" /> <option name="showCountInStatusBar" value="false" /> <option name="sound"> <Sound> <option name="enabled" value="false" /> <option name="path" /> </Sound> </option> <option name="startFolding" value="false" /> <option name="stopFolding" value="false" /> <option name="style"> <GrepStyle> <option name="backgroundColor"> <GrepColor> <option name="color" value="-16713062" /> <option name="colorKey" /> <option name="enabled" value="false" /> </GrepColor> </option> <option name="bold" value="false" /> <option name="effectColor"> <GrepColor> <option name="color" /> <option name="colorKey" /> <option name="enabled" value="false" /> </GrepColor> </option> <option name="effectType" /> <option name="foregroundColor"> <GrepColor> <option name="color" value="-8274648" /> <option name="colorKey" /> <option name="enabled" value="true" /> </GrepColor> </option> <option name="italic" value="false" /> <option name="name" /> </GrepStyle> </option> <option name="unlessGrepExpression" value=".*select.*" /> </GrepExpressionItem> <GrepExpressionItem> <option name="action" /> <option name="caseInsensitive" value="false" /> <option name="clearConsole" value="false" /> <option name="continueMatching" value="true" /> <option name="defaultEnabled" value="true" /> <option name="defaultFilter" value="true" /> <option name="enabled" value="false" /> <option name="fold" value="false" /> <option name="foldPlaceholderTextPrefix" value="" /> <option name="grepExpression" value="Parameters.*" /> <option name="highlightOnlyMatchingText" value="true" /> <option name="inputFilter" value="false" /> <option name="multiline" value="false" /> <option name="name" /> <option name="operationOnMatch" value="CONTINUE_MATCHING" /> <option name="showCountInConsole" value="false" /> <option name="showCountInStatusBar" value="false" /> <option name="sound"> <Sound> <option name="enabled" value="false" /> <option name="path" /> </Sound> </option> <option name="startFolding" value="false" /> <option name="stopFolding" value="false" /> <option name="style"> <GrepStyle> <option name="backgroundColor"> <GrepColor> <option name="color" value="-5658199" /> <option name="colorKey" /> <option name="enabled" value="false" /> </GrepColor> </option> <option name="bold" value="false" /> <option name="effectColor"> <GrepColor> <option name="color" /> <option name="colorKey" /> <option name="enabled" value="false" /> </GrepColor> </option> <option name="effectType" /> <option name="foregroundColor"> <GrepColor> <option name="color" value="-50185" /> <option name="colorKey" /> <option name="enabled" value="true" /> </GrepColor> </option> <option name="italic" value="false" /> <option name="name" /> </GrepStyle> </option> <option name="unlessGrepExpression" /> </GrepExpressionItem> <GrepExpressionItem> <option name="action" /> <option name="caseInsensitive" value="false" /> <option name="clearConsole" value="false" /> <option name="continueMatching" value="true" /> <option name="defaultEnabled" value="true" /> <option name="defaultFilter" value="true" /> <option name="enabled" value="false" /> <option name="fold" value="false" /> <option name="foldPlaceholderTextPrefix" value="" /> <option name="grepExpression" value="Total.*" /> <option name="highlightOnlyMatchingText" value="true" /> <option name="inputFilter" value="false" /> <option name="multiline" value="false" /> <option name="name" /> <option name="operationOnMatch" value="CONTINUE_MATCHING" /> <option name="showCountInConsole" value="false" /> <option name="showCountInStatusBar" value="false" /> <option name="sound"> <Sound> <option name="enabled" value="false" /> <option name="path" /> </Sound> </option> <option name="startFolding" value="false" /> <option name="stopFolding" value="false" /> <option name="style"> <GrepStyle> <option name="backgroundColor"> <GrepColor> <option name="color" value="-6270419" /> <option name="colorKey" /> <option name="enabled" value="false" /> </GrepColor> </option> <option name="bold" value="false" /> <option name="effectColor"> <GrepColor> <option name="color" /> <option name="colorKey" /> <option name="enabled" value="false" /> </GrepColor> </option> <option name="effectType" /> <option name="foregroundColor"> <GrepColor> <option name="color" value="-10496" /> <option name="colorKey" /> <option name="enabled" value="true" /> </GrepColor> </option> <option name="italic" value="false" /> <option name="name" /> </GrepStyle> </option> <option name="unlessGrepExpression" /> </GrepExpressionItem> <GrepExpressionItem> <option name="action" /> <option name="caseInsensitive" value="false" /> <option name="clearConsole" value="false" /> <option name="continueMatching" value="false" /> <option name="defaultEnabled" value="true" /> <option name="defaultFilter" value="true" /> <option name="enabled" value="true" /> <option name="fold" value="false" /> <option name="foldPlaceholderTextPrefix" value="" /> <option name="grepExpression" value="DELETE FROM.*" /> <option name="highlightOnlyMatchingText" value="true" /> <option name="inputFilter" value="false" /> <option name="multiline" value="false" /> <option name="name" /> <option name="operationOnMatch" value="EXIT" /> <option name="showCountInConsole" value="false" /> <option name="showCountInStatusBar" value="false" /> <option name="sound"> <Sound> <option name="enabled" value="false" /> <option name="path" /> </Sound> </option> <option name="startFolding" value="false" /> <option name="stopFolding" value="false" /> <option name="style"> <GrepStyle> <option name="backgroundColor"> <GrepColor> <option name="color" value="-11179217" /> <option name="colorKey" /> <option name="enabled" value="false" /> </GrepColor> </option> <option name="bold" value="true" /> <option name="effectColor"> <GrepColor> <option name="color" /> <option name="colorKey" /> <option name="enabled" value="false" /> </GrepColor> </option> <option name="effectType" /> <option name="foregroundColor"> <GrepColor> <option name="color" value="-40568" /> <option name="colorKey" /> <option name="enabled" value="true" /> </GrepColor> </option> <option name="italic" value="false" /> <option name="name" /> </GrepStyle> </option> <option name="unlessGrepExpression" /> </GrepExpressionItem> <GrepExpressionItem> <option name="action" /> <option name="caseInsensitive" value="false" /> <option name="clearConsole" value="false" /> <option name="continueMatching" value="false" /> <option name="defaultEnabled" value="true" /> <option name="defaultFilter" value="true" /> <option name="enabled" value="true" /> <option name="fold" value="false" /> <option name="foldPlaceholderTextPrefix" value="" /> <option name="grepExpression" value="INSERT INTO.*" /> <option name="highlightOnlyMatchingText" value="true" /> <option name="inputFilter" value="false" /> <option name="multiline" value="false" /> <option name="name" /> <option name="operationOnMatch" value="EXIT" /> <option name="showCountInConsole" value="false" /> <option name="showCountInStatusBar" value="false" /> <option name="sound"> <Sound> <option name="enabled" value="false" /> <option name="path" /> </Sound> </option> <option name="startFolding" value="false" /> <option name="stopFolding" value="false" /> <option name="style"> <GrepStyle> <option name="backgroundColor"> <GrepColor> <option name="color" value="-3730043" /> <option name="colorKey" /> <option name="enabled" value="false" /> </GrepColor> </option> <option name="bold" value="true" /> <option name="effectColor"> <GrepColor> <option name="color" /> <option name="colorKey" /> <option name="enabled" value="false" /> </GrepColor> </option> <option name="effectType" /> <option name="foregroundColor"> <GrepColor> <option name="color" value="-357354" /> <option name="colorKey" /> <option name="enabled" value="true" /> </GrepColor> </option> <option name="italic" value="false" /> <option name="name" /> </GrepStyle> </option> <option name="unlessGrepExpression" /> </GrepExpressionItem> <GrepExpressionItem> <option name="action" /> <option name="caseInsensitive" value="false" /> <option name="clearConsole" value="false" /> <option name="continueMatching" value="false" /> <option name="defaultEnabled" value="true" /> <option name="defaultFilter" value="true" /> <option name="enabled" value="true" /> <option name="fold" value="false" /> <option name="foldPlaceholderTextPrefix" value="" /> <option name="grepExpression" value="UPDATE.*SET.*" /> <option name="highlightOnlyMatchingText" value="true" /> <option name="inputFilter" value="false" /> <option name="multiline" value="false" /> <option name="name" /> <option name="operationOnMatch" value="EXIT" /> <option name="showCountInConsole" value="false" /> <option name="showCountInStatusBar" value="false" /> <option name="sound"> <Sound> <option name="enabled" value="false" /> <option name="path" /> </Sound> </option> <option name="startFolding" value="false" /> <option name="stopFolding" value="false" /> <option name="style"> <GrepStyle> <option name="backgroundColor"> <GrepColor> <option name="color" value="-3730043" /> <option name="colorKey" /> <option name="enabled" value="false" /> </GrepColor> </option> <option name="bold" value="true" /> <option name="effectColor"> <GrepColor> <option name="color" /> <option name="colorKey" /> <option name="enabled" value="false" /> </GrepColor> </option> <option name="effectType" /> <option name="foregroundColor"> <GrepColor> <option name="color" value="-13000449" /> <option name="colorKey" /> <option name="enabled" value="true" /> </GrepColor> </option> <option name="italic" value="false" /> <option name="name" /> </GrepStyle> </option> <option name="unlessGrepExpression" /> </GrepExpressionItem> <GrepExpressionItem> <option name="action" /> <option name="caseInsensitive" value="false" /> <option name="clearConsole" value="false" /> <option name="continueMatching" value="false" /> <option name="defaultEnabled" value="true" /> <option name="defaultFilter" value="true" /> <option name="enabled" value="false" /> <option name="fold" value="false" /> <option name="foldPlaceholderTextPrefix" value="" /> <option name="grepExpression" value="SELECT.*FROM.*" /> <option name="highlightOnlyMatchingText" value="true" /> <option name="inputFilter" value="false" /> <option name="multiline" value="false" /> <option name="name" /> <option name="operationOnMatch" value="EXIT" /> <option name="showCountInConsole" value="false" /> <option name="showCountInStatusBar" value="false" /> <option name="sound"> <Sound> <option name="enabled" value="false" /> <option name="path" /> </Sound> </option> <option name="startFolding" value="false" /> <option name="stopFolding" value="false" /> <option name="style"> <GrepStyle> <option name="backgroundColor"> <GrepColor> <option name="color" value="-3730043" /> <option name="colorKey" /> <option name="enabled" value="false" /> </GrepColor> </option> <option name="bold" value="true" /> <option name="effectColor"> <GrepColor> <option name="color" /> <option name="colorKey" /> <option name="enabled" value="false" /> </GrepColor> </option> <option name="effectType" /> <option name="foregroundColor"> <GrepColor> <option name="color" value="-7405" /> <option name="colorKey" /> <option name="enabled" value="true" /> </GrepColor> </option> <option name="italic" value="false" /> <option name="name" /> </GrepStyle> </option> <option name="unlessGrepExpression" /> </GrepExpressionItem> </list> </option> <option name="name" value="sql" /> </GrepExpressionGroup> </option> </GrepConsoleItems>
|