在eclipse中着色slf4j / log4j输出

时间:2014-02-14 00:05:22

标签: java eclipse log4j slf4j logback

我正在尝试在eclipse / kepler(java)中使用logback-beagle。据我所知,目前不支持,如下所列(?)。

http://marketplace.eclipse.org/content/logback-beagle#.Uv1cGPldWK8

我仍然继续安装插件并且在windows-preferences下没有看到它。是否有替代方法可以获得类似的功能(颜色编码和从日食中的slf4j / log4j的日志输出导航) 或者我可以为eclipse(?)制作beagle插件。我不明白为什么eclipse想要在市场上拥有它,但在安装后没有出现在首选项中

2 个答案:

答案 0 :(得分:5)

我刚遇到同样的问题,似乎logback-beagle在kepler中根本不起作用。我相信它适用于早期版本的eclipse,但遵循http://logback.qos.ch/beagle/的安装说明并尝试其他一些事情(比如colouring options for logback和JAnsi)让我无处可去。

我找到的最好的替代方案(因为你要求一个)是Grep Console,它适用于我的kepler安装,并且非常易于配置,允许你在控制台输出上应用基于正则表达式的着色条件。 / p>

至于你的“从日志输出导航”这一点,我假设你希望能够点击(Java)类名并自动导航到相应的类定义,你只需要配置你的控制台appender包含文件和行号的输出,例如(%file:%line)(或%F%L如果您愿意;有关详细信息,请参阅pattern layout options。例如,这是我在logback.xml文件中使用的内容:

<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%-5level %d{dd/MM/yyyy HH:mm:ss.SSS} \(%file:%line\) - %message%n</pattern>
    </encoder>
</appender>

使用Grep Console和文件行模式的唯一问题是Grep Console的行样式隐藏了类名和行号可点击的事实(Grep Console样式覆盖了eclipse的蓝色下划线“链接”)。我想如果你想要“链接样式”,你必须通过在Grep控制台中配置一个模式来识别这些链接并自己设置样式。

编辑:只是因为它让我不想看到链接的Java类,我使用以下模式来“链接”Java类和行号:

([a-zA-Z]+\.java:\d+)

我在“Manage Expressions”对话框中添加了一个表达式,称为“Java链接”,使用上面的正则表达式模式,并将其设置为不使用“Whole line”样式(即它将继承基于日志级别)并将“组1”样式定义为蓝色(#0000ff)前景色和蓝色下划线,带有浅蓝色背景(#c0ffff),以便它将覆盖该行剩余部分的背景颜色:

Edit expression screenshot

答案 1 :(得分:0)

我使用了ANSI Escape In Console插件,它不需要任何配置即可固定。 网址:

日食更新站点https://www.mihai-nita.net/eclipse

https://github.com/mihnita/ansi-econsole