運算子 log()

為了方便起見,為了記錄訊息透過 Spring Integration 流(<logging-channel-adapter>)的旅程,引入了一個 log() 運算子。在內部,它由一個 WireTap ChannelInterceptor 表示,其中 LoggingHandler 作為其訂閱者。它負責將傳入訊息記錄到下一個端點或當前通道。以下示例展示瞭如何使用 LoggingHandler

.filter(...)
.log(LoggingHandler.Level.ERROR, "test.category", m -> m.getHeaders().getId())
.route(...)

在前面的示例中,id 頭部以 ERROR 級別記錄到 test.category,僅針對透過過濾器且在路由之前的訊息。

從版本 6.0 開始,此運算子在流末尾的行為與其中間使用時的行為保持一致。換句話說,即使移除了 log() 運算子,流的行為也保持不變。因此,如果流的末尾不預期產生回覆,建議在最後一個 log() 之後使用 nullChannel()

© . This site is unofficial and not affiliated with VMware.