嵌入式Jetty 9使用Logback进行日志记录

Spi*_*ter 3 jetty logback slf4j

我在maven项目中使用jetty,并且已经使用slf4j和logback进行日志记录.因此,我有一个logback.xml,我配置日志记录,它到目前为止工作(格式,我的项目和库的设置级别,......).

但是,现在我在pom.xml中添加了jetty作为依赖项,我得到了大量新的DEBUG日志,我不想看到(通常).

如何将jetty的日志级别设置为更高级别?

一开始,jetty报告说它认可了slf4j:

13:08:57 [main]      [DEBUG] log - Logging to Logger[org.eclipse.jetty.util.log] via org.eclipse.jetty.util.log.Slf4jLog
Run Code Online (Sandbox Code Playgroud)

在我的logback.xml中,我尝试将jetty静音如下,但它不起作用:

<logger name="org.eclipse.jetty" level="INFO" />
Run Code Online (Sandbox Code Playgroud)

这为我使用的其他库提供了技巧.

我阅读了关于日志记录jetty文档,但是他们只记录了独立码头的使用 - 遗憾的是,我无法将其用于嵌入式用例.

Spi*_*ter 6

我自己找到了答案 - 这有点令人尴尬.问题是有两个用于日志记录的配置文件:logback.xml和logback-test.xml.

我没有在maven项目开发期间使用的logback-test.xml中调整logger的级别.另一方面,logback.xml配置在构建包时使用,例如在生产使用中.

logback文档:

如果您使用的是Maven,并且将logback-test.xml放在src/test/resources文件夹下,Maven将确保它不会包含在生成的工件中.因此,您可以使用不同的配置文件,即测试期间的logback-test.xml,以及生产中的另一个文件,即logback.xml.

由于缺乏logback和maven的经验,我不知道这一点.

总结:将以下内容添加到logback-test.xml解决了我的问题:

<logger name="org.eclipse.jetty" level="INFO" />
Run Code Online (Sandbox Code Playgroud)