3

我第一次与 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" />

但它不起作用。有人可以帮我解决这个问题吗?

4

1 回答 1

3

您看到的日志格式不是 logback

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

那是Jetty自己内部StdErrLog产生的日志格式。所以用 logback 过滤掉它(还)不起作用。

如何使 logback 在 Jetty 中工作

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

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

$ java -jar start.jar --version

这将向您显示服务器类路径中将包含的内容。

现在开始码头。应该检测到 slf4j-api 类,并且内部日志记录从 切换StdErrLogSlf4jLog.

此时您只需要配置 logback。通常带有一个${jetty.home}/resources/logback.xml文件。(有关详细信息,请参阅logback 文档

的意思oeju.Scanner

至于这oeju.Scanner部分,那是 StdErrLog 为命名的 logger 生成的全限定类名的缩写org.eclipse.jetty.util.Scanner。看看它是如何只使用每个包命名空间段的第一个字母来形成oeju?

如何在 logback 中过滤 Scanner 事件

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

<logger name="org.eclipse.jetty.util.Scanner" level="info" />
于 2013-03-03T02:25:46.477 回答