6

メッセージヘッダーの値をキー「foo_bar」でログに記録する必要があります。これにより、そのヘッダーの値が「baz」の場合にログメッセージが次のようになります。

ヘッダーfoo_barの値:baz

盗聴とlogging-channel-adapterでこれを行う方法は?

4

1 に答える 1

14

logging-channel-adapter の式属性を使用して、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 統合メッセージです。したがって、式の「ヘッダー」は、メッセージのヘッダー マップを取得します。

于 2011-03-28T11:25:12.390 に答える