オペレーター 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()
を使用することをお勧めします。