ユーザー定義拡張機能からのイベント・ログの使用

ユーザー定義拡張機能は例外を使用してエラーをレポートするよう推奨されているので、 メッセージ処理ノードおよびパーサーは、 ローカル・エラー・ログに直接書き込む必要性はほとんどありません。 しかし WebSphere Message Broker と同じ方法で、問題判別および操作上の目的のために、 重大なエラーなどを書き込むようにすることができます。

C コードを用いると、 ユーティリティー関数 CciLog を使用してこれを実行できます。この関数で受け入れられる 2 つの引数 messageSource および messageNumber は、 イベント・ソースおよびそのソース内のメッセージの実際の整数表現をそれぞれ定義します。

Java コードの場合、 MbService クラスはイベント・ログに情報をログするための静的メソッドを提供します。 イベント・ログへのメッセージをログするには、 標準 Java リソース・バンドルにメッセージをパッケージする必要があります。 3 つのロギング・メソッドのいずれかを使用して、 リソース・バンドル名およびメッセージ・キーに渡します。 メッセージは完全に解決され、 下に示す適切なブローカー・メッセージに単一挿入として挿入されます。

Windows システムの場合、 メッセージは Windows イベント・ログに書き込まれ、 メッセージ・カタログは Windows DLL として送信される必要があります。

Linux および UNIX システムの場合、こうしたメッセージは SYSLOG 機能に書き込まれ、メッセージ・カタログは XPG4 メッセージ・カタログとして送信される必要があります。

これらは、通常処理の際に生じる例外を網羅しています。 メッセージ・フローのデプロイおよび構成の際に生じる例外に関しても、 準備する必要があります。 こうした構成の例外から生じるメッセージは、 ワークベンチ ユーザーに表示するためにワークベンチに再びレポートされます。 これを行うには、適切な名前の Java プロパティー・ファイルを作成して、 それを各ワークベンチにコピーする必要があります。

Windows イベント・ソースのビルドおよびインストール

Windows では、 メッセージ・カタログは Windows DLL として送信されます。 その DLL は次の説明に従って作成しなければなりません。 これには、イベント・ビューアーを使用可能にして、 ご使用のアプリケーションが書き込むイベント・メッセージに基づく、 読み取り可能な形式を表示するためのイベント・メッセージの定義が含まれます。 メッセージ・カタログをコンパイルすると、 作成した各イベント・メッセージ番号のシンボル性を定義するヘッダー・ファイルが作成されます。 このヘッダー・ファイルは、ご使用のアプリケーションに組み込まれます。

Windows イベント・ログ・サービスのイベント・ソースを作成するには、次のようにします。
  1. ご使用のイベント・メッセージのソースを使用して、 メッセージ・コンパイラー入力 (.mc) ファイルを作成します。 Microsoft Web サイト、http://msdn.microsoft.com を参照し、 この入力ファイルのフォーマットの詳細について .mc file を検索してください。
  2. このメッセージ・ファイルをコンパイルして、 リソース・コンパイラー入力ファイルを作成するため次のコマンドを発行します。
    mc -v -w -s -h c:¥mymessages -r c:¥mymessages mymsg.mc

    ここで、c:¥mymessages は出力ファイルのパスおよびディレクトリーで、 mymsg.mc は入力ファイルの名前です。

    メッセージ・コンパイラーは出力ヘッダー (.h) ファイルを作成します。 このファイルには、input.mc ファイルにコード化された各メッセージ番号にマップされる #defines というシンボルが含まれます。 定義済みのイベント・メッセージに書き込むため、 CciLog ユーティリティー関数を使用するユーザー定義拡張機能のソース・ファイルをコンパイルする場合には、 このヘッダー・ファイルを含める必要があります。 CciLog での messageNumber 引数は、 出力ヘッダー・ファイルにハッシュ定義された適切な値を使用しなければなりません。

  3. メッセージ・コンパイラーから出力ファイル (.rc) をコンパイルし、 次のコマンドを発行してリソース (.res) ファイルを作成します。
    RC /v <filename>.rc
  4. このコマンドを発行し、.res ファイルを使用してリソース DLL を作成します。
    LINK /DLL /NOENTRY <filename>.res
Windows イベント・ログ・サービスにイベント・ソースをインストールするには、 次のようにします。
  1. 次のコマンドを発行して、Windows Registry Editor を開始します。
    regedit
  2. 既存の定義済み構造の下に、ご使用のユーザー定義拡張機能用の新規レジストリー・サブキーを作成します。
    HKEY_LOCAL_MACHINE
       SYSTEM
          CurrentControlSet
             Services
                EventLog
                   Application

    Application」を右マウス・ボタン・クリックして、 「新規」->「キー」を選択します。 新規キーが、Application キー (WebSphere Message Broker キーの下ではない) の下に直ちに作成されます。 このキーに、CciLog 呼び出しの messageSource パラメーターで指定した名前を付けなければなりません。

    このエントリーに次の値を作成する必要があります。
    • EventMessageFile ストリング値には、 メッセージを含めるために作成した .dll の完全修飾パスを含めなければなりません。 これは、CciLog が使用するメッセージ・カタログです。
    • TypesSupported DWORD 値には、値「7」を含める必要があります。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
as04520_