部署日志解析器插件项目

先决条件

在创建了插件项目以包含日志解析器的工件之后,您需要配置插件以使其可供“日志和跟踪分析器”使用。执行下列步骤:

  1. 将插件依赖项添加至插件的清单文件
  2. 将日志解析器的扩展点添加至插件的清单文件
  3. 为静态解析器添加扩展点
  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 plugins 目录中,或者必须包括在当前工作空间中。


2. 添加日志解析器扩展点

您需要为要解析并导入到“日志和跟踪分析器”中的每类应用程序日志文件定义扩展点。以下是 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. 第二个 <field> 标记定义用于选择要导入的日志文件版本的 UI 组合框。它是必需的元素。替换下列属性:
  6. <parserParameter> 标记定义对于每个受支持的日志文件版本要使用哪个适配器配置文件。替换下列属性:
提示:应定义 Default 以免找不到匹配的版本。如果您只有一个适配器配置文件,则只需要名为 Default 的 parserParameter。例如:
<parserParameter
   name="Default"
   value="./MyAdapter/myadapter.adapter">
</parserParameter>

上面指定的字段将在“导入日志”向导中创建一个 MyApp myapp.log 选项,如下所示:

“导入日志”向导,该向导将 myapp myapp.log 显示为所要导入的选项

可以使用 plugin.properties 文件来在 plugin.xml 文件中定义某些可能需要具有不同版本的属性。例如,如果需要将一些将被包括在“导入日志文件”向导中的文本字符串翻译成不同的语言,则可以在 plugin.properties 文件中定义它们,您可以包括不同的属性文件以便用于所要支持的各种语言。在 plugin.properties 文件中,定义可以在 plugin.xml 文件中使用的替换变量。以上 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

提示:根据运行应用程序的语言环境的不同,应用程序可能使用不同的语言来将数据写入它的日志文件。编写的静态解析器类或正则表达式规则是使用单一语言来解析日志文件的。因此,要支持以许多语言写入的日志文件类型,必须为每种语言创建单独的静态解析器适配器文件或规则适配器文件。然后,在该日志文件类型的 logParser 扩展点中,应该为每个适配器文件添加 parserParameter 标记,从而在 name 字段中指定它所适用的语言。不要忘记将 parserParameter name 值添加到 version 字段 defaultValue 属性的列表中。这将允许用户在导入日志文件时选择正确的日志文件语言。

例如,可以对 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. 为静态解析器添加扩展点

如果您正在创建静态解析器,则必须完成此步骤。

对于静态解析器来说,必须在 plugin.xml 中使用 staticParser 扩展来指定您创建的静态解析器类。此扩展点使得当该类在“日志导入”场景中被用来解析文件时能被找到。
添加以下扩展点:

<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 的静态包装器类。这个类既用于静态解析器也用于基于规则的解析器,它使用通用日志适配器运行时来执行与用户在“日志导入”向导中选择的版本相关联的适配器配置文件。

/*
 * 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. 单击确定
  10. 单击完成以导入具有新日志文件类型的日志文件。验证日志文件记录是否已显示在“日志”视图中。
    提示:如果在“日志”视图中未显示日志文件记录,则验证是否已使用执行类 org.eclipse.hyades.logging.adapter.config.outputters.StaticParserOutputter 对解析器适配器配置文件中的输出程序组件进行了配置。

6. 将日志解析器插件打包并进行部署

本地部署

要将日志解析器插件部署到 eclipse 工作台,需要通过将插件文件导出到一个 zip 文件中来将它们打包。请执行下列步骤:

  1. 使用插件清单编辑器打开 plugin.xml 文件。
  2. 选择运行时选项卡并验证插件类的 JAR 文件是否已包括在运行时库列表中。如果未列示任何 JAR 文件,则通过单击新建...按钮并指定适当名称来创建一个 JAR 文件。
  3. 选择构建选项卡并检查二进制构建列表中的适当文件和文件夹是否将包括在导出的插件中。例如,检查 plugin.xml、plugin.properties 和解析器适配器配置文件。保存对 plugin.xml 文件所作的更改。
  4. 通过选择文件 > 导出导出插件文件。
  5. 在“导出”向导中,选择可部署的插件和片段
  6. 单击下一步
  7. 在“导出插件和片段”页面上,在可用的插件和片段列表中选择插件,然后选取其复选框。
  8. 在“导出选项”字段中,选择部署为单个 ZIP 文件
  9. 指定 zip 文件的目标文件名
  10. 单击完成

远程部署

要将日志解析器部署到远程主机以便您可以从该远程主机导入日志文件,必须为日志解析器创建代理控制器插件配置文件。执行下列步骤:
  1. 使用插件清单编辑器打开 plugin.xml 文件。
  2. 选择运行时选项卡并验证插件类的 JAR 文件是否已包括在运行时库列表中。如果未列示任何 JAR 文件,则通过单击新建...按钮并指定适当名称来创建一个 JAR 文件。
  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. 选择构建选项卡并检查二进制构建列表中的适当文件和文件夹是否将包括在导出的插件中。例如,检查 plugin.xml、plugin.properties 和解析器适配器配置文件以及刚刚创建的 pluginconfig.xml 文件。保存对 plugin.xml 文件所作的更改。
  8. 通过选择文件 > 导出导出插件文件。
  9. 在“导出”向导中,选择可部署的插件和片段
  10. 单击下一步
  11. 在“导出插件和片段”页面上,在可用的插件和片段列表中选择插件,然后选取其复选框。
  12. 在“导出选项”字段中,选择部署为单个 ZIP 文件
  13. 指定 zip 文件的目标文件名
  14. 单击完成

7. 部署日志解析器

可以通过在 eclipse 安装的 eclipse 目录中将刚刚创建的 zip 文件解压缩来部署日志解析器插件。现在就可以使用“日志和跟踪分析器”来测试新创建的日志解析器插件了。

要在远程系统上部署日志解析器插件以便可以远程方式导入日志文件,请在远程系统上的代理控制器安装目录中将刚刚创建的 zip 文件解压缩。然后,重新启动代理控制器。

 

相关概念
公共基本事件格式规范

相关任务
创建日志解析器
创建静态适配器
创建基于规则的适配器
测试日志解析器
为日志解析器建立插件项目

相关参考
适配器配置文件结构
适配器配置编辑器
正则表达式语法