使用logback过滤掉扫描程序事件

时间:2013-03-02 16:36:28

标签: jetty slf4j logback

我第一次使用Jetty进行logback。我有一切工作,但我有一个令人烦恼的事情,我无法弄清楚。一旦Jetty启动,我开始得到一个填充了这些日志文件:

2013-03-02 11:19:23.933:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\contexts]: {}
2013-03-02 11:19:24.646:DBUG:oeju.Scanner:scanned [C:\Users\willie\AppData\Local\Temp\context5868271910991031759deploy]: {}
2013-03-02 11:19:24.938:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\webapps]: {}
2013-03-02 11:19:24.943:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\contexts]: {}
2013-03-02 11:19:25.655:DBUG:oeju.Scanner:scanned [C:\Users\willie\AppData\Local\Temp\context5868271910991031759deploy]: {}
2013-03-02 11:19:25.948:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\webapps]: {}
2013-03-02 11:19:25.952:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\contexts]: {}
2013-03-02 11:19:26.665:DBUG:oeju.Scanner:scanned [C:\Users\willie\AppData\Local\Temp\context5868271910991031759deploy]: {}
2013-03-02 11:19:26.958:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\webapps]: {}
2013-03-02 11:19:26.963:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\contexts]: {}
2013-03-02 11:19:27.675:DBUG:oeju.Scanner:scanned [C:\Users\willie\AppData\Local\Temp\context5868271910991031759deploy]: {}
2013-03-02 11:19:27.968:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\webapps]: {}
2013-03-02 11:19:27.973:DBUG:oeju.Scanner:scanned [C:\Code\jetty-8\contexts]: {}

在logback中过滤的语法有点神秘,我无法弄清楚如何告诉logback忽略这些扫描事件。我试过了明显的

<filter class="oeju.Scanner" />

但它不起作用。那里的任何人都可以给我一些帮助吗?

1 个答案:

答案 0 :(得分:3)

您看到的日志格式不是logback

2013-03-02 11:19:26.665:DBUG:oeju.Scanner:scanned ....

这是Jetty自己的内部StdErrLog生成的日志格式。 因此,使用logback过滤它将无法正常工作。

如何在Jetty中进行回归工作

首先,确保您的服务器类路径中存在slf4j-api和logback jar。

最简单的方法是将它们放在${jetty.home}/lib/ext/中,并通过快速检查命令行来验证它们是否存在。

$ java -jar start.jar --version

这将显示服务器类路径中的内容。

现在开始码头。应检测slf4j-api类,并将内部日志记录从StdErrLog切换到Slf4jLog

此时您只需配置logback。通常使用${jetty.home}/resources/logback.xml文件。 (logback documentation提供details

oeju.Scanner

的含义

对于oeju.Scanner部分,这是StdErrLog为命名记录器org.eclipse.jetty.util.Scanner生成的缩写完全限定类名。了解它如何仅使用每个包命名空间段的第一个字母来构成oeju

如何过滤回溯中的扫描仪事件

在你的logback.xml中,使用以下内容代替你的问题,将日志级别设置为该特定类的INFO。

<logger name="org.eclipse.jetty.util.Scanner" level="info" />