eclipse插件(grep console)的一些简要入门说明
一、grep console是什么?
eclipse中的一个插件,可以将eclipse console中的一些"特定输出"进行高亮显示,以及具有一些其它特性(Grep View、Notifications、Statistics)。
二、grep console能做什么?
通过一个简单的示例来说明"grep console"的作用。
2.1 测试使用的代码
2.2 正常的console输出显示
2.3 使用"grep console"之后的console输出显示
2.4 在"Grep View"中的显示
我对日志级别为"WARN"和"ERROR"的输出感兴趣,只让这些输出在"Grep View"中同步显示,类似于过滤显示的作用。
2.5 其它类似的解决方案
也有其它的eclipse插件能够对控制台输出进行高亮显示,比如"ANSI Escape in Console"。
个人觉得这种方式不太友好,它不仅需要在日志配置文件中(比如log4j、log4j2)给不同级别日志定义颜色,而且也会在日志输出的行首加一些控制颜色的特定字符(如果你用文本编辑器打开这些日志文件,就能看到这种字符)。
2.6 代码片段
以下是本例演示中使用的代码
package cn.firewall;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
private static final SimpleDateFormat FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:sss");
public static void main(String[] args) throws Exception {
for ( ; ; ) {
test();
Thread.sleep(1000L);
System.out.println("----------------------------------------------------------");
}
}
private static void test() {
String threadName = Thread.currentThread().getName();
String dateStr = FORMAT.format(new Date());
System.out.println(dateStr + " DEBUG " + "[" + threadName + "] ooooops");
System.out.println(dateStr + " INFO " + "[" + threadName + "] ooooops");
System.out.println(dateStr + " WARN " + "[" + threadName + "] ooooops");
System.out.println(dateStr + " ERROR " + "[" + threadName + "] ooooops");
}
}
三、简单的激活配置
我刚开始使用时,不知道怎么激活grep console(让它对简单的输出进行高亮显示),使我比较迷茫和困惑。
在这里做一个简单的配置入门讲解,先体会一下使用成功的喜悦,如果自己有兴趣,可以再去看看它的官方文档说明。
在eclipse console的右上角,有个类似这样的图标"(?)",点击它之后,会弹出一个界面B(首次启动时会弹出另外一个提示框A),里面有4个表达式。
3.1 第一个重要的步骤就是,如何激活高亮显示。
你会在界面B中看到每个表达式条目的右边有4个图标,你每次点其中的一个图标,它都会变化,然而你可能不了解每个图标的意思。
先不用理会这些小图标,直接选中一个表达式条目(比如Warn),点击Edit…按钮,会弹出界面C,在新弹出的界面C中的Defaults中,至少选中Styles in console和Show in Grep View。
3.2 第二个重要步骤就是,修改默认的表达式。
自带的4个表达式和我使用的log4j2中的输出格式是不匹配的;如果你使用其它的日志框架,也得对比一下;如果不匹配,你会发现无论怎么配置,它都不会起作用。
举个例子,它自带的Warn表达式是**.*(\Q[Warn]\E).*,而log4j2输出的日志级别却是WARN**,所以它们不匹配,你只需要将它修改为**.*(\QWARN\E).***。
注意:我同时也去掉了一对中括号,因为我的日志输出是没有中括号的。
界面B
界面C
以上只是一些简单的使用说明,至少可以先让你成功的配置一下。
如果发现这个插件特别适合你,而你也想继续深入了解一下它的其它特性,去看看它的官方文档吧。