私は、メッセージをjms-message-driven-channel-adaptor
を使用してメッセージキューからメッセージを処理するためにスプリング統合を使用して、メッセージをprocessMessage
チャネルに入れます。 wire-tap
を設定してメッセージを傍受し、メッセージをログファイルに記録します。logginをloggin-channel-adapterに設定する
ペイロードのみをログファイルに記録したいのですが、アプリケーションを起動すると、すべてのアプリケーションレベルのログもペイロードとともにログファイルに記録されます。
以下は、詳細については、スプリング構成とlog4j構成です。
Spring構成:
<int-jms:message-driven-channel-adapter
channel="processMessage" destination-name="MyTest.Queue"/>
<int:channel id="processMessage">
<int:interceptors>
<int:wire-tap channel="logger"></int:wire-tap>
</int:interceptors>
</int:channel>
<int:logging-channel-adapter channel="logger" logger-name="myLogger"
level="INFO" log-full-message="true">
</int:logging-channel-adapter>
Log4jの構成:
log4j.rootLogger = INFO, myLogger
log4j.appender.myLogger=org.apache.log4j.FileAppender
log4j.appender.myLogger.File=/app/logs/jms.log
log4j.appender.myLogger.layout=org.apache.log4j.PatternLayout
log4j.appender.myLogger.layout.conversionPattern=%m%n
私が間違っているつもりですどこ私に知らせてください。
ありがとうございました。しかし、 '
zilcuanu
期待通りに動作する例については、私の編集を参照してください。 –