2016-08-24 6 views
0

私は、メッセージを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 

私が間違っているつもりですどこ私に知らせてください。

答えて

0

これらのファイルを別のファイルに移動する場合は、rootLoggerにアペンダーを使用しないでください。 rootLoggerは別のアペンダーに移動する必要があります。

はまた、あなたのロガーのカテゴリ

log4j.category.myLogger=INFO, myAppender 

を(myAppenderにあなたのアペンダ名の変更)が必要です。

EDIT

私はこれをテストし、期待どおりに動作します...

<int:logging-channel-adapter id="loggingChannel" log-full-message="true" logger-name="tapInbound" 
    level="INFO" /> 

log4j.rootLogger = INFO, stdout 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.conversionPattern=%m%n 

log4j.category.tapInbound=INFO, myAppender 

log4j.appender.myAppender=org.apache.log4j.FileAppender 
log4j.appender.myAppender.File=/tmp/jms.log 
log4j.appender.myAppender.layout=org.apache.log4j.PatternLayout 
log4j.appender.myAppender.layout.conversionPattern=%m%n 
+0

ありがとうございました。しかし、 ' zilcuanu

+0

期待通りに動作する例については、私の編集を参照してください。 –

0

次のようなLog4Jのコンフィグを持っているので:

log4j.rootLogger = INFO, myLogger 

したがって、すべてのカテゴリは、カスタムアペンダを使用します。

彼らのために多分stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d %p [%t] [%c] - %m%n 

関連する問題