Как использовать logging-channel-adapter в интеграции Spring для регистрации значения заголовка сообщения

Мне нужно зарегистрировать значение заголовка сообщения с помощью ключа "foo_bar", чтобы сообщение журнала выглядело примерно так, когда значение этого заголовка"baz":

значение заголовка foo_bar: baz

Как это сделать с помощью проводного крана и адаптера протоколирования?

1 ответов


используйте атрибут expression адаптера logging-channel-и настройте адаптер wire-tap и logging-channel-adapter примерно так:

<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 integration. Таким образом," заголовки " в выражении получают вам карту заголовков сообщения.