© Copyright International Business Machines Corporation 2000, 2007. All rights reserved.US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
Generic Log Adapter 捆绑在 Agent Controller 中。Generic Log Adapter 允许您创建能够支持定制日志格式的适配器。当 Generic Log Adapter 连续监视某个日志文件时,如果未指定结束模式,则它将不处理最后一个记录。仅当 Generic Log Adapter 关闭时才处理最后一个记录。
为确保监视期间处理最后一个记录,请在 Generic Log Adapter 配置文件中为记录提供结束模式。
在 UNIX™ 平台上使用 Generic Log Adapter 对 WebSphere® Application Server 二进制活动或服务日志进行解析时,用户拥有的特权必须等于或高于 WebSphere Application Server 安装者的特权。
作为此局限的变通方法,在对二进制活动或服务日志进行解析前,将日志移到具有与 Generic Log Adapter 用户相同特权的目录中。
在 UNIX 平台上使用 Generic Log Adapter 对 WebSphere MQ 错误日志进行解析时,用户的特权必须等于或大于 WebSphere MQ 安装者的特权。
作为此局限的变通方法,在对 MQ 错误日志进行解析前,将日志移到具有与 Generic Log Adapter 用户相同特权的目录中。
当 Generic Log Adapter 在 Eclipse 环境外以独立方式执行时,它会将消息和错误记录到当前工作目录下名为 hgla.log 的文件中。如果 hgla.log 文件已存在于当前工作目录中,则创建名为 hgla.nnnnnnnn.log 的新日志文件,其中 nnnnnnnn 是唯一的编号。当 Generic Log Adapter 作为日志导入操作的一部分执行时,它记录的错误消息将显示在 Log and Trace Analyzer 的错误对话框中。
在 Eclipse 环境内的 Generic Log Adapter 透视图中执行时,Generic Log Adapter 记录的消息和错误列在“问题”视图中。
Generic Log Adapter 会记录日志记录级别为 5、10、20、30、50 和 60 的事件,这取决于适配器配置文件中“上下文和组件”的日志记录级别设置。可以将 hgla.log 文件以公共基本事件 XML 文件类型导入到 Log and Trace Analyzer 中,以诊断 Generic Log Adapter 在对日志文件进行解析时遇到的问题。
Generic Log Adapter 不执行验证来确定正在进行解析的日志文件的类型是否与适配器文件配置匹配。例如,如果适配器文件中传感器配置所指定的日志文件不是解析器配置中抽取器配置和替换规则所适用的类型,则可能发生不可预测的结果。解析可能成功并且没有错误,但是生成的公共基本事件数据将不正确。解析也可能失败,并有错误消息指出遇到错误数据。
作为此问题的变通方法,请确保传感器组件配置中指定的日志文件是正确的类型。
对包含的时间戳记与正在执行的 Generic Log Adapter 不在相同语言环境中的日志文件进行解析,并使用基于规则的适配器文件(配置为对 creationTime 使用替换规则中的“时间格式”属性)时,时间戳记和其他日志记录数据可能无法正确地进行解析。例如,生成的公共基本事件中的 creationTime 值可能为零,并且公共基本事件消息字段可能为空白。
作为此问题的变通方法,请确保基于规则的适配器文件中“上下文实例”的 ISO 语言代码和 ISO 国家或地区代码属性的值与要进行语言分析的日志文件中时间戳记的语言环境相对应。
使用 Generic Log Adapter 将使用三字母时区符号的日志文件转换为公共基本事件格式时,如果三字母时区符号不是唯一的,则可能会产生错误的日志事件创建时间。例如,三字母符号“IST”可解释为 Israeli Standard Time、Indian Standard Time、Iran Standard Time 或 Irish Summer Time。
如果使用 GLA_INSTALL\GenericLogAdapter\config\DB2\diag\tool 中的适配器解析 IBM® DB2® Express 诊断日志,则产生的写入输出文件的公共基本事件将违反某些公共基本事件规范。这是由于 db2diag.exe 实用程序中的一个错误而引起的,该实用程序用来将 DB2 诊断日志转换为公共基本事件。它应当不会对解析操作有任何影响。在修正 db2diag.exe 之前没有其他已知的变通方法。
使用由先前版本的“适配器配置编辑器”创建的适配器文件对日志文件进行解析,会导致将以下错误消息写入 Generic Log Adapter 日志文件 hgla.log 中:
IWAT0383E 适配器验证错误:cvc-complex-type.4:属性 'lineBreakSymbol' 必须出现在元素 'ex:Extractor' 中。
由较旧版本的“适配器配置编辑器”创建的适配器文件没有必需的抽取程序属性 lineBreakSymbol。此属性必须存在于抽取程序元素中,即使它具有空值也如此。现在,Generic Log Adapter 在使用适配器文件之前,将对照 Generic Log Adapter 模式对其进行验证,并且 lineBreakSymbol 是模式中的必需属性。
作为此问题的变通方法,请在“适配器配置编辑器”中打开适配器文件,向抽取程序元素的 lineBreakSymbol 字段添加非空值,保存适配器文件,然后删除该值(如果它不是必需的)并再次保存文件。现在,适配器文件在抽取程序元素中包含 lineBreakSymbol 属性。
使用由先前版本的“适配器配置编辑器”创建的适配器文件对日志文件进行解析,会导致如下所示的错误消息写到 Generic Log Adapter 日志文件 hgla.log 中:
IWAT0438E 由于缺少必需的属性 sourceComponentId,公共基本事件格式化程序 N76D20B0042411D98000E0362B33D6F0 无法创建 CommonBaseEvent。
此消息表示 Generic Log Adapter 的格式化程序组件无法创建公共基本事件,因为 sourceComponentId 是必需的公共基本事件属性,但缺少该属性。现在,Generic Log Adapter 将验证公共基本事件中是否存在所有必需的属性、是否缺少属性,以及是否未返回公共基本事件。对于消息中所示的属性,适配器文件可能不具有解析规则,或者解析规则不正确。
要解决此问题,请将解析器规则添加到缺少必需的公共基本事件属性的适配器文件中,或验证现有的规则是否正确。
对日志进行解析时,会将以下错误消息写到控制台:
IWAT0310E 由于配置问题,无法启动 Generic Log Adapter。
IWAT0317E 构建组件 AdapterLogSensor 时发生错误。
IWAT0319E 无法实例化类 org.eclipse.hyades.logging.adapter.internal.util.AdapterSensor。异常 = org/eclipse/emf/ecore/EObject作为此问题的变通方法,请对 gla.bat 和 gla.sh 运行时脚本文件中的 -classpath 选项执行以下更新:
- 用 emf.common_2.2.0.v200606051102.jar 替换 emf.common_2.2.0.qualifier.jar。
- 用 emf.ecore_2.2.0.v200606051102.jar 替换 emf.ecore_2.2.0.qualifier.jar。