创建定制组件

通用日志适配器提供了许多预定义组件,这些组件可以用来创建适配器以处理应用程序日志文件。如果那些组件无法满足您的需求,您可以通过创建定制组件来扩展通用日志适配器,这些定制组件可以被包括在适配器配置文件的上下文中。

请执行下列步骤来创建定制组件:

抽取通用日志适配器源代码

如果要在开发自己的通用日志适配器组件时引用通用日志适配器源代码,您可以从 Eclipse CVS 存储库检出 org.eclipse.hyades.logging.adapter 插件项目。要完成此任务:

创建 Java 类

您需要创建包含新组件代码的 Java 类:

  1. 创建插件项目以包含新组件。
  2. 在该项目中创建 Java 类。根据新组件将要扮演的角色的不同,它应该实现包 org.eclipse.hyades.logging.adapter 中定义的下列其中一个接口:
    IProcessUnit
    使用用于执行组件处理的方法来扩展 IComponent。将在组件之间传递对象数组,因此主处理方法 processEventItems 接收 Object 数组作为输入并返回 Object 数组。所有组件都必须实现 IProcessUnitIComponent 包含用于所有组件属性的 getter 方法和 setter 方法、用于从配置中获取组件属性的 update 方法以及用于启动和停止组件的方法。
    ISensor
    扩展 IProcessUnit。当实现传感器组件时,应该使用此接口。getNext 方法返回来自正被感知的源的下一组数据。flush 方法将来自源的已被传感器高速缓存的任何其余数据清空。该接口还包含用于传感器模式文件 sensor.xsd 中定义的传感器类型的 getter 和 setter。
    IExtractor
    扩展 IProcessUnit。当实现抽取程序组件时,应该使用此接口。由于传感器通常将数据作为字符串返回给抽取程序,并且抽取程序从这些字符串中抽取完整的消息,所以抽取程序必须实现 processStrings 方法,该方法接收 String 数组作为输入并返回 MessageString 对象数组。MessageString 类也是在 org.eclipse.hyades.logging.adapter 包中定义的。
    IParser
    扩展 IProcessUnit。当实现解析器组件时,应该使用此接口。
    IFormatter
    扩展 IProcessUnit。当实现格式化程序组件时,应该使用此接口。
    IOutputter
    扩展 IProcessUnit。当实现输出程序组件时,应该使用此接口。

    在创建新的组件类时,另一个选项是扩展 org.eclipse.hyades.logging.adapter.impl 包中的 IComponentIProcessUnitISensorIExtractor 的缺省实现类。org.eclipse.hyades.logging.adapter 项目中的相关组件包提供了一些组件示例。

  3. 完成编写代码后,保存更改。

添加插件依赖项

因为您正在扩展通用日志适配器类,所以必须在插件中包括通用日志适配器插件及其依赖项。

  1. 打开 plugin.xml 文件,然后添加下列依赖项:
    org.eclipse.hyades.logging.adapter
    org.eclipse.hyades.logging.core

将插件配置为扩展

要将插件配置为通用日志适配器的组件扩展:

  1. 在 plugin.xml 文件中添加下列扩展:
    <extension
       point="org.eclipse.hyades.logging.adapter.adapterComponent">
      <componentClassname
            name="executable_class_name">
      </componentClassname>
    </extension> 
    其中,executable_class_name 是为了实现新的通用日志适配器组件而创建的 Java 类的名称。
  2. 保存 plugin.xml 文件。

 

相关任务
测试定制组件