Gradle正在使用STDOUT来记录Jetty关闭

时间:2013-05-08 09:49:27

标签: java jetty gradle slf4j logback

我正在使用Jetty作为Web服务器并以编程方式启动它。该项目正在使用Gradle。对于日志记录,我使用sl4j和logback实现。 为了停止服务器,我使用org.eclipse.jetty.util.component.LifeCycle.一切都在生产中完美。

但是,我的问题是,当我从gradle运行单元测试时,来自不同线程的Jetty关闭服务正在将INFO级别消息记录到STDOUT。这不应该发生,因为从[main]线程打印的所有其他INFO消息都不会显示。

理论上,只有在使用"--info"启动gradle时,此INFO日志才会存在。

有谁知道为什么Gradle将Jetty INFO日志映射到STDOUT?

P.S。单元测试中没有用于logback的配置文件。

以下是运行时显示的第一条日志消息

gradle integrationTest

<code>11:30:25.553 [Thread-8] INFO org.eclipse.jetty.server.Server - Graceful shutdown SelectChannelConnector@0.0.0.0:8984</code>

1 个答案:

答案 0 :(得分:0)

默认情况下,测试中打印到stdout的所有内容都以gradle格式打印出来。这让我相信,由于某种原因,来自另一个线程的INFO日志消息正在打印到stdout。你能核实是否是这种情况吗?

如果您不关心是否是这种情况并且您根本不想从test stdout中看到任何内容,那么有一种方法可以禁用Gradle中测试的所有输出:

integrationTest {
    testLogging.showStandardStreams = false
}