在eclipse控制台中着色日志

New*_*ian 102 java eclipse console metadata escaping

有没有办法在eclipse控制台中着色部分日志.我知道我可以发送错误和标准流并对它们进行不同的着色,但我更喜欢ANSI转义代码(或任何其他,HTML?)的行,我可以在字符串中嵌入颜色以使其在日志.

它确实有助于使重要的部分脱颖而出而不依赖于奇怪的布局,而是将布局保持为log4j设置

这是我正在寻找的一个例子:

[INFO]网格完整....... false

在粗体部分为蓝色的情况下,这种着色可以通过应用程序在一定程度上控制.像这样(标签是概念性的和任意的,但你明白了):

log.info(String.format("网格完整....... <blue>%s </blue>",isComplete));


更一般地说,它是在日志中嵌入元信息以帮助显示这些日志的能力.就像我们标记网页内容以帮助通过CSS呈现信息一样.

Ben*_*ler 75

试试这个Eclipse插件:Grep Console

[更新]:
正如评论者所指出的:在当前最新版本的Eclipse中安装Grep Console时,您需要取消选中"安装"对话框中的"按类别分组项目"以查看可用项目.
正如@Line所指出的,现在可以通过Eclipse Marketplace轻松安装插件,而无需更改任何选项.

[更新2]:
正如@azdev所指出的,要获得适当的突出显示:

仅输入文字字符串不起作用.要使一条线着色,你必须将字符串括 .* 在两边,如下所示: .*ERROR.*

  • 该插件无法与最新的Eclipse(Helios)一起使用. (3认同)
  • 如果有人正在寻找Grep控制台的文档:http://marian.schedenig.name/wp-content/static/grepconsole_userguide/ (2认同)

fmj*_*rey 15

实际上,ANSI Console插件为Eclipse控制台添加了ANSI转义码支持.目前它确实有一个限制,因为在滚动时,跨越多行的转义码会错误地泄漏到其他行,请参阅问题#3.

否则,在另一个问题中解释的某些终端视图插件可能是某些选项.


Ash*_*dal 9

正如@Benjamin Grep Console已经指出的那样,在控制台中对输出进行着色是一种很好的方法.

我制作了一个简短的视频来演示它是如何工作的,并从Grep Console插件的Creator中回听.他提到Grep控制台3已经发布.

屏幕投射:http://www.youtube.com/watch?v = fXjgGZAxToc

更新网站

Grep Console 2
http://eclipse.musgit.com
(需要Eclipse 3.4(Ganymede)或更高版本以及Java 5.0或更高版本)

Grep Console 3
http://eclipse.schedenig.name
(需要Eclipse 3.7(Indigo)或更高版本以及Java 6.0或更高版本)


Dav*_*ria 6

如何使用Logback及其属性转换器并记录log4j中的所有内容,这可能允许您查看不同颜色的不同级别.

祝好运!

编辑:eclipse插件


jaj*_*ube 5

您可以在 Eclipse 的控制台插件中使用ANSI Escape 。您将需要它,以便 Eclipse 控制台可以解释 ANSI 转义代码。安装它并重新启动 Eclipse。然后您可以使用 ANSI 颜色代码以某种颜色书写。这是另一个 stackoverflow 答案中的ANSI 颜色代码列表。然后你可以这样做:

public static final String ANSI_RESET = "\u001B[0m";
public static final String ANSI_RED = "\u001B[31m";

public static void main(String[] args) {
    System.out.println(ANSI_RED + "This text is red!" + ANSI_RESET);
}
Run Code Online (Sandbox Code Playgroud)

我用它为控制台处理程序创建了一个自定义格式化程序,以便它以不同的颜色显示不同级别的记录器日志(信息日志为青色,警告日志为黄色,严重日志为红色)。如果你有兴趣的话,我就是这样做的