在eclipse中着色slf4j/log4j输出

kas*_*ili 7 java eclipse log4j logback slf4j

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

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

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

Amo*_*ter 5

我刚刚遇到同样的问题,似乎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>
Run Code Online (Sandbox Code Playgroud)

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

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

([a-zA-Z]+\.java:\d+)
Run Code Online (Sandbox Code Playgroud)

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

编辑表达截图