Spring integration 如何在Spring集成中使用日志通道适配器记录消息头值

Spring integration 如何在Spring集成中使用日志通道适配器记录消息头值,spring-integration,spring-el,Spring Integration,Spring El,我需要用键“foo_bar”记录消息头的值,以便当该头的值为“baz”时,日志消息看起来像这样: 标题foo_bar的值:baz 如何使用有线抽头和记录通道适配器执行此操作?使用记录通道适配器的表达式属性,并设置有线抽头和记录通道适配器,如下所示: <integration:channel id="channel1"> <integration:interceptors> <integration:wire-tap channel="logg

我需要用键“foo_bar”记录消息头的值,以便当该头的值为“baz”时,日志消息看起来像这样:

标题foo_bar的值:baz


如何使用有线抽头和记录通道适配器执行此操作?

使用记录通道适配器的表达式属性,并设置有线抽头和记录通道适配器,如下所示:

<integration:channel id="channel1">
    <integration:interceptors>
        <integration:wire-tap channel="loggingChannel1"/>
    </integration:interceptors>
</integration:channel>
<integration:logging-channel-adapter 
    id="loggingChannel1" 
    expression="'Value of header foo_bar: '.concat(headers.foo_bar)" 
    level="DEBUG"
/>

使用expression属性时,根对象是spring集成消息。因此,表达式中的“headers”将获得消息的headers映射