• 検索結果がありません。

アダプ タの WebLogic Integration へのデプ ロ イ

ドキュメント内 devadapt.book (ページ 52-76)

XML ツール

手順 3. アダプ タの WebLogic Integration へのデプ ロ イ

アダプタ のデプ ロ イ は、手動で も WebLogic Server Administration Console か ら で も実行で き ます。詳細については、 第 9 章 「アダプタ のデプ ロ イ」 を参照し て く だ さ い。

アダプ タの開発

5-1

5 ロギング ツールキ ッ ト の使い方

ロ ギ ングは、 アダプタ コ ンポーネン ト に不可欠な機能です。 一般的にアダプタ は、 複数のアプ リ ケーシ ョ ンの統合に使用 さ れ、 データの処理時にエン ド ユー ザ と は対話し ません。 フ ロ ン ト エン ド コ ンポーネン ト の動作 と は異な り 、 エ

ラーや警告状況が発生し た場合 も、 処理を停止し て、 エン ド ユーザの応答を待つ こ と はあ り ません。

ADK では、 ロ ギ ング フ レーム ワー ク を実装する こ と によ り 、 アダプ タ ア ク テ ィ

ビテ ィ のロ グ を記録で き ます。こ のフ レーム ワー ク に よ っ て、 イ ン ターナシ ョ ナ ラ イ ズ さ れた メ ッ セージおよびローカ ラ イ ズ さ れた メ ッ セージを、 複数の出力先 に記録でき ます。ま た、 メ ッ セージのカテ ゴ リ 、 優先度、 フ ォーマ ッ ト 、 および 送 り 先の指定に使用で き る一連の コ ン フ ィ グ レーシ ョ ン パ ラ メ ータ が用意さ れ ています。

こ の章の内容は以下の と お り です。

ロ ギ ング ツールキ ッ ト

ロ ギ ング コ ン フ ィ グ レーシ ョ ン フ ァ イ ル

ロ ギ ング コ ンセプ ト

ロ ギ ングの設定方法

ロ ギ ング フ レーム ワー ク の ク ラ ス

ロ グ メ ッ セージの イ ン ターナシ ョ ナ ラ イ ゼーシ ョ ン と ローカ ラ イ ゼーシ ョ ン

マルチス レ ッ ド コ ンポーネン ト での コ ンテキス ト 情報の保存

5

ロギング ツールキ ッ ト の使い方

ロギング ツールキ ッ ト

ADK

が提供する ロ ギン グ ツールを使用する と 、 イ ン ターナシ ョ ナラ イ ズ さ れた メ ッ セージを複数の出力先に ロ グ と し て記録で き ます。こ のロ ギング ツール キ ッ ト に よ り 、 Apache Log4j オープン ソース プ ロ ジ ェ ク ト の機能が強化 さ れま す。こ の製品には、 Apache Software Foundation (http://www.apache.org

) に

よ って開発さ れた ソ フ ト ウ ェ アが組み込まれています。

ロ ギング ツールキ ッ ト は、 必要な Log4j ク ラ ス を ラ ッ プ し、 J2EE 準拠アダプ タ に機能を追加する ためのフ レーム ワーク です。こ のツールキ ッ ト は、

WLI_HOME/libデ ィ レ ク ト リ の logtoolkit.jarフ ァ イ ル内にあ り ます。 こ の

JAR フ ァ イ ルは、 DOM、 XERCES、 および Log4j に依存し ています。 XERCES

の依存関係には、 WebLogic Server と 共に提供さ れ る weblogic.jarおよび xmlx.jarフ ァ イ ルが必要です。 WebLogic Integration は、WLI_HOME/libの該当 するバージ ョ ンであ る Log4j (log4j.jar

)

も提供し ます。

Log4j

パ ッ ケージは、 オープン ソース イ ニシアチブに よ っ て認可 さ れたオープ

ン ソ ースの完全ラ イ セン ス、 Apache 公用ラ イ セン スに従って配布 さ れていま す。 全 ソ ース コー ド 、 ク ラ ス フ ァ イ ル、 および ド キ ュ メ ン ト 込みの最新の

Log4j

バージ ョ ンは、 Apache Log4j Web サ イ ト (http://www.apache.org) に あ り ます。

ロギング コ ン フ ィ グレーシ ョ ン フ ァ イル

こ の節では、 全般にわた って ロ ギ ング コ ン フ ィ グ レーシ ョ ン フ ァ イ ルの参照を し た り コー ド を抜粋し た り し てい ます。 ロ ギ ング コ ン フ ィ グ レーシ ョ ン フ ァ イ ルは、BEA_WLS_DBMS_ADK.xmlな どのアダプタ論理名で識別 さ れる .xmlフ ァ イ ルです。こ のフ ァ イ ルには、 5-3 ページの 「ロ ギング コ ンセプ ト 」 で説明 さ れて い る 4 つのロ ギング コ ンセプ ト に関する基本情報が定義さ れていて、 開発者の アダプタ に合わせて変更でき ます。

ADK

では、WLI_HOME/adapters/sample/srcに基本的な ロ ギン グ コ ン フ ィ グ レーシ ョ ン フ ァ イ ル BEA_WLS_SAMPLE_ADK.xmlが格納さ れています。こ のフ ァ イルを独自のアダプ タ用に変更する場合は、GenerateAdapterTemplateを実行 し て く だ さ い。 こ のユーテ ィ リ テ ィ を使用する と 、 サンプル バージ ョ ンの ロ ギ

ロ ギ ン グ コ ン セ プ ト

アダプ タの開発

5-3

ン グ コ ン フ ィ グ レーシ ョ ン フ ァ イ ルを、 開発者が新し く 構築し たアダプ タに関 連する情報に も と づいてカ ス タマ イ ズ し、 こ のカ ス タ マ イ ズ バージ ョ ンのフ ァ

イ ルを新し いアダプタ の開発環境で使用で き ます。GenerateAdapterTemplate の詳細については、 第 4 章 「カ ス タ ム開発環境の作成」 を参照 し て く だ さ い。

ロギング コ ンセプ ト

ADK の ロ ギ ング ツールキ ッ ト を使 う 前に、 ロ ギング フ レーム ワーク の主要コ ン

セプ ト を理解し ておいて く だ さ い。ロ ギングには、 次の 4 つの主要コ ンポーネン

ト があ り ます。

メ ッ セージ カ テゴ リ

メ ッ セージ優先度

メ ッ セージ アペンダ

メ ッ セージ レ イ ア ウ ト

こ れ ら のコ ンポーネン ト は相互に連携し て機能し 、 メ ッ セージ タ イ プ と 優先度 に従って ロ グ メ ッ セージを記録し、 メ ッ セージのフ ォーマ ッ ト および出力先を 実行時に管理で き ます。

メ ッ セージ カ テゴ リ

カテ ゴ リ は、 定義さ れた基準に従っ て ロ グ メ ッ セージを識別する、 ロ ギ ング フ レーム ワー ク の中心的な コ ンセプ ト です。 ADK では、 カテ ゴ リ は、

BEA_WLS_SAMPLE_ADK.DesignTimeの よ う に名前で識別さ れます。

カテ ゴ リ は、 定義さ れた階層で、 どのカテ ゴ リ も親カテゴ リ か ら プ ロパテ ィ を継 承でき ます。 階層は次のよ う に定義さ れます。

あ る カテ ゴ リ 名に ド ッ ト が続き、 そのカテ ゴ リ 名が子孫カテゴ リ のプレ フ ィ ッ ク スにな ってい る場合、 前者のカテ ゴ リ は、 後者のカ テゴ リ の祖先 と な り ます。

あ る カテ ゴ リ と その子孫カテゴ リ の間に祖先 と な る カテゴ リ がない場合、 前 者のカテ ゴ リ は後者のカテ ゴ リ (子カテゴ リ ) の親 と な り ます。

5

ロギング ツールキ ッ ト の使い方

た と えば、 以下の図に示すよ う に、BEA_WLS_SAMPLE_ADK.DesignTimeは、

BEA_WLS_SAMPLE_ADKの子孫で、 さ ら に BEA_WLS_SAMPLE_ADKは、 ルー ト カテ ゴ リ の子孫になっ てい ます。

ROOT CATEGORY |

|->BEA_WLS_SAMPLE_ADK |

|->BEA_WLA_SAMPLE.ADK.DesignTime

ルー ト カテゴ リ はカテゴ リ 階層の最上位にあ り 、 名前で削除あ る いは検索する こ と がで き ません。

カテゴ リ を作成する場合、 属する アダプ タ内の コ ンポーネン ト に対応し た名前を 割 り 当て ます。 た と えば、 あ る アダプタ のコ ンポーネン ト が設計時ユーザ イ ン タ フ ェース コ ンポーネン ト であ る場合、 次の よ う な名前に し ます。

BEA_WLS_SAMPLE_ADK.DesignTime

メ ッ セージ優先度

各 メ ッ セージの重要度が、 優先度に よ っ て示 さ れています。 メ ッ セージの優先度 は、 メ ッ セージの ロ グに使用さ れ る ILogger イ ン タ フ ェース メ ソ ッ ド に よ っ て決 ま り ます。 た と えば、 ILogger イ ン ス タ ン スでデバ ッ グ メ ソ ッ ド を呼び出す と 、 優先度のデバ ッ グ メ ッ セージが生成 さ れます。

ロ ギング ツールキ ッ ト では、 メ ッ セージに対し て 5 つの優先度をサポー ト し て います。こ れら の優先度は、 優先度の高い順に表 5-1 に リ ス ト さ れます。

5-1

ロギングツールキ ッ ト の優先度

優先度 意味

AUDIT アダプ タ が実行す る ビ ジネ ス処理に関連する 非常に重要な ロ グ メ ッ セージ。 こ の重要度の メ ッ セージは常に ロ グに書 き出 さ れ る。

ERROR アダプ タ におけ る エ ラ ーの 発生。 エ ラ ー メ ッ セージは、 ユーザに応 じ て イ ン ターナシ ョ ナ ラ イ ズお よび ローカ ラ イ ズ さ れ る。

WARN エ ラ ーではないが、 ア ダプ タ に問題を引 き起 こ す可能性があ る 状態。

警告 メ ッ セージは、 ユーザに応 じ て イ ン ターナシ ョ ナ ラ イ ズお よび ローカ ラ イ ズ さ れ る。

ロ ギ ン グ コ ン セ プ ト

アダプ タの開発

5-5

BEA_WLS_SAMPLE_ADK

カテ ゴ リ には下記の子要素があ る ので、 その重要度は

WARN」 と な っています。

<priority value='WARN' class='com.bea.logging.LogPriority'/>

優先度に使用さ れ る ク ラ スは、com.bea.logging.LogPriority

であ る必要があ

り ます。

カ テゴ リへの優先度の割り当て

カテ ゴ リ には優先度を割 り 当て る こ と がで き、 優先度が割 り 当て ら れていないカ テゴ リ の場合、 優先度が割 り 当て られてい る最 も近い祖先か ら優先度を継承し ま す。すなわち、 あ る カ テゴ リ の継承優先度は、 そのカテゴ リ の階層で最初に行き 当た った NULL でない優先度にな り ます。

ロ グ メ ッ セージは、 優先度がそのカテ ゴ リ の優先度以上の場合、 ロ グ送 り 先に 送られます。それ以外の場合は、 メ ッ セージはロ グには書き込まれません。優先 度が割 り 当て られていないカテ ゴ リ は、 階層か ら優先度を継承し ます。最終的に すべてのカテゴ リ が優先度を継承でき る よ う にする ため、 ルー ト カテゴ リ には 必ず優先度が割 り 当て ら れます。 継承優先度 q のカテゴ リ 内の優先度 p の ロ グ ス テー ト メ ン ト は、 p >= q の場合、 有効にな り ます。こ のルールでは、 優先度の 順位が DEBUG

<

INFO

<

WARN

<

ERROR

<

AUDITのよ う になっ ている と い う 想定に 基づき ます。

INFO ユーザに応 じ て イ ン ターナシ ョ ナ ラ イ ズお よび ローカ ラ イ ズ さ れ る 情報 メ ッ セージ。

DEBUG デバ ッ グ メ ッ セージ。 デバ ッ グ メ ッ セージは、 コ ンポーネ ン ト の内 部要素がど の よ う に機能 し てい る かを調べ る ために使用 さ れ る。 通 常、 イ ン タ ーナシ ョ ナ ラ イ ズ さ れない。

5-1

ロギングツールキ ッ ト の優先度 (続き)

優先度 意味

5

ロギング ツールキ ッ ト の使い方

メ ッ セージ アペンダ

ロ ギング フ レーム ワー ク では、 アペンダ と 呼ばれ る イ ン タ フ ェース を使用する こ と に よ り 、 1 つのアダプ タ で複数の送 り 先にロ グ メ ッ セージを出力でき ます。

Log4j

には、 以下の送 り 先に対応する アペンダがあ り ます。

コ ン ソ ール

フ ァ イル

リ モー ト ソ ケ ッ ト サーバ

NT

イ ベン ト ロ ガー

リ モー ト UNIX Syslog デーモン

さ らに、 ADK ロ ギ ング ツールキ ッ ト には、 ご使用の WebLogic Server ロ グへの ロ グ メ ッ セージの送信を呼び出せる アペンダ も用意さ れています。

1

つのカテゴ リ は、 複数のアペンダを参照で き ます。あ る カ テ ゴ リ で有効な ロ ギ ング要求は、 カテ ゴ リ 階層の上位にあ る全アペンダ と カテゴ リ 内にあ るすべての アペンダに対し て も転送 さ れます。 すなわち、 アペンダはカテゴ リ 階層か ら累加 的に継承さ れます。

た と えば、 コ ン ソ ール アペンダがルー ト カテゴ リ に追加 さ れる と 、 有効な ロ ギ ング要求はすべて、 少な く と も コ ン ソールに表示さ れます。こ こ で、 さ ら にフ ァ イル アペンダがカテ ゴ リ C に追加さ れ る と 、 C および C の子カテ ゴ リ の有効な ロ ギング要求はフ ァ イ ルに出力さ れ、 コ ン ソ ールに表示 さ れます。 累加フ ラ グ を

false

に設定する こ と に よ り 、 こ のデフ ォル ト 動作をオーバーラ イ ド し て、 アペ

ンダの継承が累加的に付け加え られ るのを止め る こ と がで き ます。

注意

:

こ の場合、 さ ら に コ ン ソ ール アペンダを直接 C に追加する と 、 同じ メ ッ セージが 2 回 (C か ら と ルー ト か ら) コ ン ソールに表示さ れます。ルー

ト カテゴ リ が、 常に コ ン ソ ールに ロ グ を出力する ためです。

コー ド リ ス ト 5-1 は、 WebLogic Server ロ グに対する アペンダを示し ています。

コー ド リ ス ト

5-1 WebLogic Server

ログに対するアペンダを示すサンプルコー

ドキュメント内 devadapt.book (ページ 52-76)