可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
Is there a way to colorize parts of logs in the eclipse console. I know I could send to error and standard streams and color them differently but I'm more looking someting in the lines of ANSI escape codes (or anyother, HTML ?) where I could embed the colors in the string to have it colored in the logs.
It sure would help making the important bits stand out without resorting to weird layout, rather keep the layout to the log4j setups
here is an example of what I am looking for :
[INFO ] The grid is complete ....... false
where the bold parts would be in blue, this coloring can be controlled by the application to an extent. like so (tags are conceptual and arbitrary, but you get the idea):
log.info(String.format("The grid is complete ....... <blue>
%s</blue>
", isComplete ));
On a more general note it is the ability to embed meta information in the logs to help the presentation of these logs. Much like we tag web pages content to help the presentation of the information by CSS.
回答1:
Have a try with this Eclipse Plugin: Grep Console
[Update]:
As pointed out by commenters:
When installing Grep Console in the currently last version of Eclipse, you need to uncheck 'Group items by category' in the Install dialog to see the available items.
As pointed out by @Line the plugin can now be easily installed via the Eclipse Marketplace again without changing any options.
[Update 2]:
As pointed out by @azdev, to get proper highlighting:
Entering just literal strings doesn't work. To get a line to be colored, you have to enclose the string in
.*
on either side, like so:
.*ERROR.*
回答2:
Actually the ANSI Console plugin adds ANSI escape code support to Eclipse console.
At present it does have a limitation though, whereby escape codes that span multiple lines leak incorrectly to other lines when scrolling, see issue #3.
Otherwise some terminal view plugin as explained in this other question might be an option for some.
回答3:
As already pointed out by @Benjamin Grep Console is a great way to colorize output in the Console.
I had made a short video to demonstrate how it worked and heard back from the Creator of the Grep Console plugin. He mentioned that Grep console 3 is has been released.
Screen cast : http://www.youtube.com/watch?v=fXjgGZAxToc
Update Sites
Grep Console 2
http://eclipse.musgit.com
(requires Eclipse 3.4 (Ganymede) or higher and Java 5.0 or higher)
Grep Console 3
http://eclipse.schedenig.name
(requires Eclipse 3.7 (Indigo) or higher and Java 6.0 or higher)
回答4:
What about use Logback and its property converter and log everything in log4j, that may allow you see the differents levels on differents colors.
Good luck!
EDIT: the eclipse plugin
回答5:
We use the Ganymede Eclipse plugin where I work, and it works well.
http://sourceforge.net/projects/ganymede/
"A log4j plugin to Eclipse that works similar to chainsaw (SocketServer). Includes color, filtering, detailed information, and saves settings."
回答6:
Read about the org.eclipse.ui.console.consolePatternMatchListeners extension point.
回答7:
You may consider trying Apache Chainsaw (http://logging.apache.org/chainsaw/index.html) if you are already working with log4j. Lets you define colors and filtern and works with (nearly) zero configuration.
回答8:
I've used this plugin before, it lets you colourize lines of the log based on customized regex.
For example, when I was using it, any lines with the words error would be red, warning would be orange, info would be blue... etc.
Since it's regex, you could do anything. Set it up to make the line green whenever it starts with ">>>" and then prepend your message string with ">>>".
http://sourceforge.net/projects/logfiletools