在Eclipse中对slf4j/log4j输出进行着色处理

7

我正在尝试在eclipse/kepler (java)中使用logback-beagle。据我了解,目前它似乎不被支持,如下所示:(?).

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

我仍然安装了插件,但在“Windows-Preferences”下没有看到它。有没有其他方法可以获得类似的功能(在Eclipse中从slf4j/log4j的日志输出中进行颜色编码和导航)?或者我能让Beagle插件在Eclipse中工作吗?我不明白为什么Eclipse想要将其放在市场上,但在安装后却没有出现在首选项中。

2
Eclipse Marketplace 上的代码通常来自第三方开发者,而不是主要的 Eclipse 团队。插件中包含多少功能完全取决于开发者。 - greg-449
2个回答

6

我刚刚遇到了同样的问题,似乎logback-beagle在Kepler版本中无法正常工作。我认为它可以在早期版本的Eclipse中运行,但是按照安装说明http://logback.qos.ch/beagle/和尝试一些其他方法(例如使用JAnsi的logback着色选项)都没有效果。

我找到的最好的替代方法(因为您要求一个)是Grep Console,它可以与我的Kepler安装一起使用,并且非常可配置,可以允许您对控制台输出应用基于正则表达式的颜色条件。

至于您提到的“从日志输出导航”的问题,我认为您希望能够单击(Java)类名并自动导航到相应的类定义。您只需要配置控制台appender以包括文件和行号的输出,即(%file:%line)(如果您喜欢,也可以使用%F%L;有关更多详细信息,请参见模式布局选项)。例如,这是我在我的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和file-line-pattern的唯一问题是,Grep Console对行的样式隐藏了类名和行号可点击的事实(Grep Console样式覆盖了eclipse的“链接”蓝色下划线)。我想如果你想要“链接样式”,你需要通过在Grep Console中配置一个模式来识别这些链接并自己进行样式设置。
编辑:仅仅因为我不想看不到链接的Java类,我使用了以下模式来“链接化”Java类和行号:
([a-zA-Z]+\.java:\d+)

我在“管理表达式”对话框中添加了一个表达式,称之为“Java链接”,使用上述正则表达式模式,并设置其样式为“整个行”(即它将继承基于日志级别的样式),并定义了“第一组”样式,前景色为蓝色(#0000ff),下划线为蓝色,背景色为淡蓝色(#c0ffff),以覆盖其余行的背景颜色。请看下面的截图: Edit expression screenshot

1
太棒了!也许数字可以包括在内:([a-zA-Z0-9]+\.java:\d+) - Campa
@Campa:我通常不会在我的Java文件名中加入数字,但是当然可以添加。随着时间的推移,我的配置比上面截图中显示的要复杂得多。最好的事情是,你可以根据自己的心愿自定义一切 :-) - Amos M. Carpenter
我重申一遍:太棒了! - Campa

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接