203.8. ロギング出力の完全なカスタマイズ


Camel 2.11 から利用可能

#Formatting セクションで説明されているオプションを使用して、ロガーの出力量を制御できます。ただし、ログ行は常に以下の構造に従います。

Exchange[Id:ID-machine-local-50656-1234567901234-1-2, ExchangePattern:InOut,
Properties:{CamelToEndpoint=log://org.apache.camel.component.log.TEST?showAll=true,
CamelCreatedTimestamp=Thu Mar 28 00:00:00 WET 2013},
Headers:{breadcrumbId=ID-machine-local-50656-1234567901234-1-1}, BodyType:String, Body:Hello World, Out: null]

場合によっては、この形式は適切ではありません。

  • …​: 出力されるヘッダーとプロパティーをフィルターして、洞察と詳細のバランスを深めます。
  • 常に読み取り可能なものにログメッセージを調節します。
  • …​ ログのマイニングによるログメッセージのダイジェストの調整(例: Splunk)。
  • …​ 特定のボディーのタイプを異なる出力します。
  • …​

絶対的なカスタマイズが必要な場合は、ExchangeFormatter インターフェースを実装するクラスを作成できます。完全 Exchange へのアクセスが可能な形式(Exchange) メソッド内で必要な正確な情報を選択して抽出し、カスタム方法でフォーマットし、返すことができます。戻り値は最終的なログメッセージになります。

Log コンポーネントは、以下のいずれかの方法でカスタム ExchangeFormatter を取得できます。

レジストリーで LogComponent を明示的にインスタンス化します。

<bean name="log" class="org.apache.camel.component.log.LogComponent">
   <property name="exchangeFormatter" ref="myCustomFormatter" />
</bean>

203.8.1. 設定に関する規則:*

logFormatter という名前の Bean を登録するだけです。Log コンポーネントは、自動的に選択できるインテリジェントなコンポーネントです。

<bean name="logFormatter" class="com.xyz.MyCustomExchangeFormatter" />
注記

ExchangeFormatter は、Camel Context 内のすべての Log エンドポイント に適用されます。異なるエンドポイントに異なる ExchangeFormatters が必要な場合は、LogComponent を必要な回数だけインスタンス化し、関連する Bean 名をエンドポイント接頭辞として使用します。

カスタムログフォーマッターの使用時に Camel 2.11.2/2.12 以降では、カスタムログフォーマッターに設定されるログ URI でパラメーターを指定できます。ただし、パラメーターが異なる場合は共有されないように、logFormatter をプロトタイプスコープとして定義する必要があります(例:

<bean name="logFormatter" class="com.xyz.MyCustomExchangeFormatter" scope="prototype"/>

その後、異なるオプションを持つログ URI を使用して Camel ルートを設定できます。

<to uri="log:foo?param1=foo&amp;param2=100"/>

<to uri="log:bar?param1=bar&amp;param2=200"/>
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.