オペレーター log()

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

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

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

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