对于最新的稳定版本,请使用 Spring Integration 6.4.3spring-doc.cadn.net.cn

运算符 log()

为方便起见,要通过 Spring 集成流(<logging-channel-adapter>)、一个log()运算符。 在内部,它由WireTap ChannelInterceptor替换为LoggingHandler作为其订阅者。 它负责将传入消息记录到下一个终端节点或当前通道中。 以下示例演示如何使用LoggingHandler:spring-doc.cadn.net.cn

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

在前面的示例中,id标头记录在ERROR水平test.category仅适用于通过筛选条件且在路由之前的消息。spring-doc.cadn.net.cn

从版本 6.0 开始,此运算符在 flow 末尾的行为与其在 middle 中的用法一致。 换句话说,即使log()运算符。 因此,如果预计不会在流结束时生成回复,则nullChannel()建议在最后log().spring-doc.cadn.net.cn