2017-05-22 11 views
0

私はApache Camelで非同期ロガーを実装しようとしています。サードパーティのAPIを呼び出している間に、リクエストと応答のペイロードを記録したいと思います。次のように現在、私はactivemqを使用して、これをやっている:Apache Camelによる非同期ログ

.... 
<!-- Prepare request --> 
<to uri="activemq:loggingQueue??disableReplyTo=true&amp;preserveMessageQos=true"/> 
<recipientList> 
    <simple>http4:api.example.com</simple> 
</recipientList> 
....... 

<route> 
    <from uri="activemq:loggingQueue"/> 
    <!-- log payload --> 
</route> 
  • をこの機能を実現するために任意のより良い方法はありますか?
  • log4j2非同期ログをcamelと統合できますか?可能であれば、それを示すチュートリアルはありますか? log4j2非同期ロギングとラクダを一緒に参照するチュートリアルはありませんでした。

答えて

2

メッセージがエンドポイントに送信される前後のイベントを持つCamelにフックするには、EventNotifierを使用できます。次に、あなたのログへの書き込みにそれを使用することができます。http://camel.apache.org/eventnotifier-to-log-details-about-all-sent-exchanges.html

もlog4jのや他のロギングAPIは、多くの場合、高速で非同期/バッチ方式で、ネットワーク経由で/ファイルにログを書き込むためのさまざまなアダプタを持っています。

関連する問題