在Eclipse控制台中为日志着色


105

有没有一种方法可以在Eclipse控制台中为部分日志着色。我知道我可以发送到错误流和标准流并以不同的方式给它们上色,但是我更希望在ANSI转义码(或其他HTML格式)行中查找,可以在其中将颜色嵌入字符串中以对其进行着色日志。

它肯定会有助于使重要的部分脱颖而出,而无需诉诸怪异的布局,而是将布局保持在log4j设置中

这是我正在寻找的示例:

[INFO]网格已完成.......

如果粗体部分为蓝色,则此颜色可以在一定程度上由应用程序控制。像这样(标签是概念性的和任意的,但您可以理解):

log.info(String.format(“网格已完成....... <blue>%s </blue>”,isComplete));


一般而言,它是将元信息嵌入日志中以帮助呈现这些日志的功能。就像我们标记网页内容一样,以帮助CSS表示信息。



有趣!ANSI着色,下一次启动Eclipse时我应该看看!谢谢。至于JCabi,我喜欢将记录器上下文化,并且很少与类名匹配,因此我怀疑静态包装器能解决问题。我经常需要动态地将记录器的名称设置为实例,因为它使我可以更有效地使用记录信息。
Newtopian 2012年

Answers:


76

尝试使用此Eclipse插件:Grep控制台

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

[更新2]
@azdev所指出,要正确突出显示:

仅输入文字字符串不起作用。要使线条变色,必须将字符串.* 两端都括起来 ,如下所示: .*ERROR.*


3
该插件无法与最新的Eclipse(Helios)一起使用。
sorin 2011年

1
纠正有关未积极开发插件的问题,我向创建者询问了几个问题,并在数小时内得到了答复!至于模式,该插件采用正则表达式,因此在配置它时需要进行一些调整。我建议安装一个正则表达式插件,以尝试从控制台复制粘贴的摘录。一旦配置,尽管它像一个魅力一样工作
Newtopian 2011年

2
如果有人在寻找Grep控制台的文档:marian.schedenig.name/wp-content/static/grepconsole_userguide
Danny Bullis

1
另外,如果有人需要有关正则表达式模式的帮助(eclipse中的Grep控制台对话框中也包含此帮助链接):docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern。 html
Danny Bullis

1
请考虑先删除[更新]-现在可以通过市场轻松安装它。
在线


9

正如@Benjamin所指出的那样,Grep控制台是一种在控制台中为输出着色的好方法。

我制作了一个简短的视频来演示它的工作原理,并从Grep Console插件的创建者那里得到了反馈。他提到Grep控制台3已发布。

屏幕截图http//www.youtube.com/watch?v = fXjgGZAxToc

更新网站

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

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



4

我们在我工作的地方使用Ganymede Eclipse插件,它运作良好。

http://sourceforge.net/projects/ganymede/

“ Eclipse的log4j插件,其工作方式类似于电锯(SocketServer)。包括颜色,过滤,详细信息并保存设置。”


这是一个很棒的插件,太糟糕了,他们没有一个供欧罗巴使用的插件:(
branchgabriel

15
令人困惑的是有一个名为“ ganymede”的Eclipse插件。
JesperE 2010年

2

阅读有关org.eclipse.ui.console.consolePatternMatchListeners扩展点的信息。


1
多数民众赞成在正确的方式做到这一点,但我认为张贴者希望有人这样做ansi转义序列或html颜色代码。
aepurniet

1

如果您已经在使用log4j,则可以考虑尝试使用Apache Chainsaw(http://logging.apache.org/chainsaw/index.html)。让您定义颜色和滤镜,并使用(几乎)零配置。


我很久以前尝试过,它非常有用,尽管我不知道在这种情况下它是否可以帮助我。我希望它可以使我对行的颜色有更多的了解,但是我想要更多...明天我将尝试。
Newtopian

1

我以前使用过此插件,它可以让您根据自定义的正则表达式为日志行着色。

例如,当我使用它时,任何带有错误字样的行将为红色,警告将为橙色,信息将为蓝色...等等。

由于它是正则表达式,所以您可以做任何事情。对其进行设置,使其在以“ >>>”开头时变为绿色,然后在消息字符串前添加“ >>>”。

http://sourceforge.net/projects/logfiletools


1

您可以 Eclipse的控制台插件中使用ANSI Escape。您将需要这样做,以便Eclipse控制台可以解释ANSI Escape代码。安装它并重新启动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);
}

我使用它为控制台处理程序创建了一个自定义格式化程序,以便它以不同的颜色(不同的级别显示来自Logger的日志)(青色的INFO日志,黄色的WARNING日志和红色的SEVERE日志)。如果您感兴趣,这是我的操作方法


0

表情符号

您可以像其他答案中提到的那样为文本使用颜色。

但是您可以改用表情符号!例如,您可以使用您可以使用⚠️警告消息和🛑错误消息使它们脱颖而出!

或者只是将这些笔记本用作颜色:

📕: error message
📙: warning message
📗: ok status message
📘: action message
📓: canceled status message
📔: Or anything you like and want to recognize immediately by color

我个人将有意义的表情符号用于不同的输出。

Authentication Key: 🔑 
Server Error: 💣
etc.

🎁奖金:

此方法还可以帮助您直接在源代码中快速扫描和查找日志。

但是linux默认的emoji字体默认情况下不是彩色的,您可能首先要使其彩色。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.