オペレーター log()

便宜上、Spring Integration フロー(<logging-channel-adapter>)を介したメッセージの移動をログに記録するために、log() オペレーターが示されています。内部的には、LoggingHandler をサブスクライバーとする WireTapChannelInterceptor で表されます。受信メッセージを次のエンドポイントまたは現在のチャネルに記録するロールを果たします。次の例は、LoggingHandler の使用方法を示しています。

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

上記の例では、id ヘッダーは、フィルターを通過してルーティングされる前のメッセージについてのみ、ERROR レベルで test.category に記録されます。

バージョン 6.0 以降、フローの最後でのこの演算子の動作は、途中での使用に合わせて調整されています。つまり、log() オペレーターが削除されても、フローの動作は変わりません。そのため、フローの最後に応答が生成されないと予想される場合は、最後の log() の後に nullChannel() を使用することをお勧めします。