2013-05-08 15 views
1

我使用碼頭作爲一個Web服務器和編程啓動它。該項目正在使用Gradle。對於日誌記錄,我使用帶有logback實現的sl4j。 爲了停止服務器,我使用的是org.eclipse.jetty.util.component.LifeCycle.一切都運行完美的生產。搖籃使用STDOUT登錄碼頭關閉

不過,我的問題是,當我從gradle這個運行單元測試,在碼頭關閉服務,從不同的線程,正在登錄INFO級別的消息到stdout。這不應該發生,因爲從[main]線程打印的所有其他INFO消息未顯示。

從理論上講,這種信息的日誌只應存在的gradle時開始與"--info"

有誰知道爲什麼是搖籃映射碼頭信息記錄到標準輸出?

P.S.在單元測試中沒有用於logback的配置文件。

這是第一個日誌消息運行

gradle integrationTest

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

回答

0

當被打印到標準輸出在測試中的gradle中打印出默認的一切,顯示了。這使我相信,出於某種原因,來自其他線程的INFO日誌消息正在被打印到stdout。你能證實是否是這種情況?

如果你不在乎,如果是這樣的話,你根本不希望看到的測試標準輸出任何東西再有就是禁用搖籃自考所有輸出方式:

integrationTest { 
    testLogging.showStandardStreams = false 
} 
+0

我可以隱藏這些來自Gradle的INFO消息也使用'logging.captureStandardOutput Level.INFO'。但我想知道爲什麼這個hapennig。這可能是我監督的一些問題,我不想僅僅掩蓋它們。似乎很奇怪,在Gradle完成運行測試之後,Jetty ShutdownThread正在打印這些日誌記錄。 – Mircea 2013-05-08 13:46:24

+0

你能分享你現在的樣子,並開始在測試中停止碼頭? – erdi 2013-05-08 16:45:00