5.7. メッセージ履歴
概要
Message History パターンは、粗結合されたシステムで、メッセージのフローの分析およびデバッグを可能にします。メッセージ履歴をメッセージに添付すると、メッセージが送信時以降に通過したすべてのアプリケーションのリストが表示されます。
Apache Camel では、getTracedRouteNodes
メソッドを使用すると、Tracer を使用してメッセージフローを追跡するか、UnitOfWork からの Java API を使用して情報にアクセスできます。
ログでの文字長の制限
ロギングメカニズムを使用して Apache Camel を実行すると、メッセージとその内容を随時ログに記録できます。
メッセージによっては、非常に大きなペイロードが含まれる場合があります。デフォルトでは、Apache Camel はログメッセージの最初の 1000 文字のみを表示します。たとえば、以下のログが表示されます。
[DEBUG ProducerCache - >>>> Endpoint[direct:start] Exchange[Message: 01234567890123456789... [Body clipped after 20 characters, total length is 1000]
Apache Camel がログのボディーを切り取る際の制限をカスタマイズできます。また、ゼロや -1 などの負の値を設定すると、メッセージボディーはログに記録されません。
- Java DSL を使用した制限のカスタマイズ
Java DSL を使用して、Camel プロパティーに制限を設定できます。以下に例を示します。
context.getProperties().put(Exchange.LOG_DEBUG_BODY_MAX_CHARS, "500");
- Spring DSL を使用した制限のカスタマイズ
Spring DSL を使用して、Camel プロパティーに制限を設定できます。以下に例を示します。
<camelContext> <properties> <property key="CamelLogDebugBodyMaxChars" value="500"/> </properties> </camelContext>