ログ・パーサーのプラグイン・プロジェクトのデプロイ

前提条件

ログ・パーサーの成果物を収めるプラグイン・プロジェクトを作成したら、 ログおよびトレース・アナライザーが使用できるようにそのプラグインを構成する必要があります。 以下の手順を実行してください。

  1. プラグインのマニフェスト・ファイルにプラグイン依存関係を追加する
  2. プラグインのマニフェスト・ファイルにログ・パーサーの拡張ポイントを追加する
  3. static パーサーの拡張ポイントを追加する
  4. ラッパー・パーサー・クラスを作成する
  5. ログ・パーサー・プラグイン設定を検査する
  6. ログ・パーサーをパッケージ化する
  7. ログ・パーサーをデプロイする

1. プラグイン依存関係の追加

プラグイン・マニフェスト・ファイルに、以下のプラグイン依存関係を組み込む必要があります。 テキスト・エディターで plugin.xml ファイルを開きます。ファイルで必要なエレメントを探し、 プラグイン依存関係を追加します。以下に例を示します。

   
<import plugin="org.eclipse.core.runtime"/>
<requires>
 <import plugin="org.eclipse.hyades.logging.adapter"/>
 <import plugin="org.eclipse.hyades.logging.parsers"/>
 <import plugin="org.eclipse.hyades.logging.adapter.config"/>
</requires>

注: 上記で指定する必要なプラグインは、eclipse プラグイン・ディレクトリーか、 現行ワークスペースに含まれていなければなりません。


2. ログ・パーサー拡張ポイントの追加

構文解析を行って、ログおよびトレース・アナライザーへインポートしたい それぞれのタイプのアプリケーション・ログ・ファイルごとに、拡張ポイントを定義する必要があります。 以下は、規則アダプターと static アダプターの両方を定義した、MyApp アプリケーションのサンプル拡張ポイントです。

 <extension
         point="org.eclipse.hyades.logging.parsers.logParser">
	      <parser
            name="Sample Rules Adapter for MyApp"
            icon=""
            description="%STR_MYAPP_PARSER_DESCRIPTION"
            class="RulesParser.StaticParserExtension"
            ui_name="MyApp myapp.log file"
            id="org.eclipse.hyades.logging.parsers.MyAppLogParser">
         <field
               useBrowse="true"
               defaultValue="d:¥temp¥sample.log"
               name="Directory"
               helpContextId=""
               tooltip="%STR_MYAPP_TOOLTIP1"
               id="file_path"
               browseType="*.log">
         </field>
         <field
               useBrowse="false"
               defaultValue="MyApp 1.0(rules), MyApp 1.0(static)"
               name="Supported versions"
               helpContextId=""
               tooltip="%STR_MYAPP_TOOLTIP2"
               ui_type="combobox"
               id="version">
         </field>
         <parserParameter
               name="MyApp 1.0(rules)"
               value="./MyAdapter/myadapter.adapter">
         </parserParameter>
	<parserParameter
               name="MyApp 1.0(static)"
               value="./MyAdapter/mystaticadapter.adapter">
         </parserParameter>

      </parser>
   </extension>

ログ・パーサーの拡張ポイントをカスタマイズするには、次の更新を行うことが必要です。

  1. この拡張ポイントの RulesParser を、ログ・パーサー・プラグイン・プロジェクト用に作成 したプラグインの名前で置き換えます。
  2. この拡張ポイントの MyAdapter を、ご使用のアダプター・ファイルを含むプラグインでの フォルダー名と置き換えます。
  3. <parser> タグではパーサーの上位情報を指定します。これは必須エレメントです。 以下の属性を置換します。
  4. 最初の <field> タグは、ログ・ファイルのロケーションを選択するための UI フィールドを定義します。 これは、必須エレメントです。 以下の属性を置換します。
  5. 2 番目の <field> タグは、インポートするログ・ファイルのバージョンを選択 するための UI コンボ・ボックスを定義します。 これは、必須エレメントです。 以下の属性を置換します。
  6. <parserParameter> タグは、サポートされるそれぞれのログ・ファイル・バージョンに、 どのアダプター構成ファイルを使用するかを定義します。 以下の属性を置換します。
ヒント: バージョンの一致が検出できない場合は、Default を定義する必要があります。 アダプター構成ファイルが 1 つしかない場合は、Default の parserParameter を指定します。 以下に例を示します。
<parserParameter
   name="Default"
   value="./MyAdapter/myadapter.adapter">
</parserParameter>

上記に指定したフィールドにより、「ログのインポート (Import Log)」ウィザードに MyApp myapp.log 用のオプションが作成されます (以下の図を参照)。

myapp myapp.log がインポート・オプションとして表示されている「ログのインポート (Import Log)」ウィザード

plugin.properties ファイルを使用すると、異なるバージョンを持つ必要のある特定プロパティーを、plugin.xml ファイル内で定義することができます。 たとえば、「ログ・ファイルのインポート」ウィザードに組み込まれるテキスト・ストリングで、 別の言語に翻訳する必要があるものがある場合、それらのテキスト・ストリングを plugin.properties ファイルで定義することができ、またサポートしたい言語用の別のプロパティー・ファイル をインクルードすることができます。 plugin.xml ファイルで使用できる置換変数を、その plugin.properties ファイルで定義してください。 上記の plugin.xml に対する plugin.properties ファイルは以下のようになります。


# Properties for RulesParser Plugin

pluginName = RulesParser
providerName = MyCompany

# logParser extension point message(s):
STR_MYAPP_PARSER_DESCRIPTION = MyApp rules parser v1.0
STR_MYAPP_TOOLTIP1           = Enter the location of the log file
STR_MYAPP_TOOLTIP2           = Select the version of the log file to import

ヒント: アプリケーションは、実行されているロケールによって、異なる言語で データをログ・ファイルに書き込む場合があります。単一言語でログ・ファイルを構文解析する場合は、 static パーサー・クラスまたは正規表現規則が書き込まれます。したがって、多くの言語で書き込み可能な ログ・ファイル・タイプをサポートするには、各言語に対して別個の static パーサー・アダプター・ファイルまたは 規則アダプター・ファイルを作成する必要があります。次に、そのログ・ファイル・タイプ の logParser 拡張ポイントに、各アダプター・ファイルごとに parserParameter タグを追加し、 名前フィールドに使用する言語を指定する必要があります。バージョン・フィールド defaultValue 属性の リストに parserParameter 名の値を追加するのを忘れないようにしてください。これにより、 ユーザーは、ログ・ファイルをインポートするときにログ・ファイルの正しい言語を選択できるようになります。

例えば、次のパーサー・パラメーターを logParser 拡張ポイントに追加して、英語、フランス語、 ドイツ語のログのインポートをサポートできます。

	         <parserParameter
	         	name="MyApp 1.0(rules) English"
	         	value="./MyAdapter/myadapter_en.adapter"/>
	         <parserParameter
	         	name="MyApp 1.0(rules) French"
	         	value="./MyAdapter/myadapter_fr.adapter"/>
	         <parserParameter
	         	name="MyApp 1.0(rules) German"
	         	value="./MyAdapter/myadapter_de.adapter"/>

3. static パーサーの拡張ポイントの追加

このステップは、static パーサーを作成する場合に必要です。

static パーサーの場合、staticParser 拡張ポイントを使用して、作成した static パーサー・クラス を plugin.xml に指定する必要があります。この拡張ポイントを使用すると、ログ・インポートのシナリオで ファイルの構文解析に使用するクラスを見つけることができます。
次の拡張ポイントを追加します。

<extension
  point="org.eclipse.hyades.logging.adapter.config.staticParser">
  <parserClassname
    name="myLogParser33.MyStaticParser">
  </parserClassname>
</extension>

myLogParser33.MyStaticParser をご使用の Java パーサーのクラス名に置き換えます。

4. パーサーのラッパー・クラスの作成

org.eclipse.hyades.logging.adapter.config.StaticParserWrapper を拡張する静的なラッパー・クラスを作成します。 このクラスは、「ログのインポート (Log Import)」ウィザードで選択されたバージョンに関連した アダプター構成ファイルを、汎用ログ・アダプターのランタイムを使用して、static およびルール・ベースの 両方のパーサーが実行するために使用されます。

/*
 * Created on Apr 12, 2004
 * StaticParserExtension class created to be used in RulesParser Plug-in
 */
package RulesParser;

import org.eclipse.hyades.logging.adapter.config.StaticParserWrapper;

/**
 * @author developer
 * StaticParserExtension class
 */
public class StaticParserExtension extends StaticParserWrapper {
	public StaticParserExtension(){
		super();
		currentPlugin="RulesParser"; 
	}
}

5. ログ・パーサー・プラグイン設定の検査

プラグイン・マニフェスト・ファイルを正しく構成したかどうかを検査するため、新規の ランタイム・ワークベンチでプラグイン・プロジェクトを実行することができます。 以下の手順を実行してください。

  1. 「ウィンドウ」>「パースペクティブを開く」>「その他」>「プラグイン開発」と選択して、 プラグイン・パースペクティブに切り替えます。
  2. 「プラグイン開発」パースペクティブから、ご使用のプラグイン・プロジェクトを選択します。
  3. ツールバーから、「実行」>「次を実行」>「ランタイム・ワークベンチ」と 選択します。
  4. 新規ワークベンチで、メニューから「ファイル」>「インポート」と選択します。
  5. 「インポート」ウィザードで、「ログ・ファイル」を選択し、「次へ」をクリックします。
  6. 「ログ・ファイル」ページで、「追加」をクリックしてログ・ファイルを追加します。 「ログ・ファイルの追加」ウィンドウで、新規のログ・ファイル・タイプが 「選択されたログ・ファイル」リストに含まれたことを検査します。
  7. ご使用のログ・ファイル・タイプを選択します。「詳細」タブのフィールドおよびテキストがすべて 正しいことを検査します。
  8. ログ・ファイルのロケーションの値を指定します。
  9. OK」をクリックします。
  10. 終了」をクリックして、新規ログ・ファイル・タイプのログ・ファイルをインポートします。 ログ・ファイル・レコードが「ログ」ビューに表示されることを確認します。
    ヒント: 「ログ」ビューにログ・ファイル・レコードが表示されない場合は、パーサー・アダプター構成ファイル のアウトプッター・コンポーネントが実行クラス org.eclipse.hyades.logging.adapter.config.outputters.StaticParserOutputter によって 構成されていることを確認します。

6. ログ・パーサー・プラグインのパッケージ化およびデプロイ

ローカル・デプロイメント

ログ・パーサー・プラグインを Eclipse ワークベンチにデプロイするには、プラグイン・ファイルを、zip ファイルにエクスポートしてパッケージする必要があります。以下の手順を実行してください。

  1. プラグイン・マニフェスト・エディターで plugin.xml ファイルを開きます。
  2. ランタイム」タブを選択し、プラグイン・クラスの JAR ファイル が「ランタイム・ライブラリー」リストに含まれていることを確認します。 jar ファイルがリストされていない場合、「新規...」ボタンをクリックして 1 つの ファイルを追加し、適切な名前を指定します。
  3. ビルド (Build)」タブを選択し、「バイナリー・ビルド (Binary Build)」リストで、 エクスポートするプラグインに入れる該当するファイルおよびフォルダーにチェック・マークを付けます。 例えば、plugin.xml、plugin.properties、およびパーサー・アダプター構成ファイルにチェック・マーク を付けます。変更内容を plugin.xml ファイルに保管します。
  4. 「ファイル」>「エクスポート」と選択して、プラグイン・ファイルをエクスポートします。
  5. 「エクスポート」ウィザードで、> 「デプロイ可能なプラグインおよびフラグメント」 と選択します。
  6. 次へ」をクリックします。
  7. 「プラグインおよびフラグメントのエクスポート」ページの「使用可能プラグインおよびフラグメント」リストで、 ご使用のプラグインを選択し、そのチェック・ボックスにチェック・マークを付けます。
  8. 「エクスポート・オプション」フィールドで、「単一 ZIP ファイル (a single ZIP file)」 として「デプロイ (deploy)」を選択します。
  9. zip ファイルの宛先「ファイル名」を指定します。
  10. 終了」をクリックします。

リモート・デプロイメント

リモート・ホストからログ・ファイルをインポートできるように、ログ・パーサーをリモート・ホストに デプロイするには、ご使用のログ・パーサー用の Agent Controller プラグイン構成ファイルを作成する 必要があります。以下の手順を実行してください。
  1. プラグイン・マニフェスト・エディターで plugin.xml ファイルを開きます。
  2. ランタイム」タブを選択し、プラグイン・クラスの JAR ファイル が「ランタイム・ライブラリー」リストに含まれていることを確認します。 jar ファイルがリストされていない場合、「新規...」ボタンをクリックして 1 つの ファイルを追加し、適切な名前を指定します。
  3. config という名前のフォルダーをログ・パーサー・プラグインに作成します。
  4. その config フォルダーに、pluginconfig.xml という名前のファイルを作成します。 以下に例を示します。

    <?xml version="1.0" encoding="UTF-8"?>
    <PluginConfiguration requires="org.eclipse.hyades.logging.parsers">
        <Application configuration="default"
            executable="RemoteLogParserLoader"
            extends="default"
            location=="%SYS_TEMP_DIR%"
            path="%JAVA_PATH%">
            <Variable name="CLASSPATH"
                position="prepend"
                value="%RASERVER_HOME%¥plugins¥RulesParser_1.0.0¥parsers.jar"/>
            <Variable name="GLA_CONFIG_PATH" position="prepend" value="%RASERVER_HOME%¥plugins¥RulesParser_1.0.0"/>
            <Parameter position="append" value=""config_path=%GLA_CONFIG_PATH%""/>
        </Application>
    <Option name="RulesParser" type="version" value="1.0.0"/>
    </PluginConfiguration>
    

  5. RulesParser をご使用のログ・パーサー・プラグイン・プロジェクトの名前で置き換えます。
  6. プラグイン・マニフェスト・エディターで plugin.xml ファイルを開きます。
  7. ビルド (Build)」タブを選択し、「バイナリー・ビルド (Binary Build)」リストで、 エクスポートするプラグインに入れる該当するファイルおよびフォルダーにチェック・マークを付けます。 例えば、plugin.xml、plugin.properties、パーサー・アダプター構成ファイル、 および今作成した pluginconfig.xml ファイルにチェック・マークを付けます。変更内容を plugin.xml ファイルに保管します。
  8. 「ファイル」>「エクスポート」と選択して、プラグイン・ファイルをエクスポートします。
  9. 「エクスポート」ウィザードで、> 「デプロイ可能なプラグインおよびフラグメント」 と選択します。
  10. 次へ」をクリックします。
  11. 「プラグインおよびフラグメントのエクスポート」ページの「使用可能プラグインおよびフラグメント」リストで、 ご使用のプラグインを選択し、そのチェック・ボックスにチェック・マークを付けます。
  12. 「エクスポート・オプション」フィールドで、「単一 ZIP ファイル (a single ZIP file)」 として「デプロイ (deploy)」を選択します。
  13. zip ファイルの宛先「ファイル名」を指定します。
  14. 終了」をクリックします。

7. ログ・パーサーのデプロイ

Eclipse のインストール先の eclipse ディレクトリーに、先に作成した zip ファイルを解凍して、 ログ・パーサー・プラグインをデプロイすることができます。これで、ログおよびトレース・アナライザーを使用して、 新たに作成したログ・パーサー・プラグインをテストする準備ができました。

ログ・ファイルをリモート側でインポートすることができるように、 リモート・システムにログ・パーサー・プラグインをデプロイするには、先に作成した zip ファイルを、リモート・システムの Agent Controller インストール・ディレクトリーに解凍します。 Agent Controller を再始動します。

 

関連概念
共通ベース・イベント・フォーマットの仕様

関連タスク
ログ・パーサーの作成
static アダプターの作成
ルール・ベース・アダプターの作成
ログ・パーサーのテスト
ログ・パーサー・プラグイン・プロジェクト・セットアップ

関連参照
アダプター構成ファイルの構造
アダプター構成エディター
正規表現グラマー