消息数据
所有问题确定公共基本事件都必须提供可供人阅读的文本,以描述公共基本事件的消息字段中报告的特定事件。
与表示实际消息或日志条目的事件相关联的文本应该进行翻译和本地化。只要事件中提供国际化的文本,就应在公共基本事件中包括 msgDataElement 元素。此元素提供有关如何创建消息文本及如何解释它的信息。当尝试通过程序解释事件或尝试解释与用于格式化消息文本的语言环境或语言无关的消息时,此元素特别有价值。
先决条件:了解与创建国际化消息相关联的概念。与 Java™ 信息国际化和 Java 语言中的资源束用法相关的文档提供了有关这些概念的适当培训来源。
公共基本事件中的
msgDataElement 元素包括有关随事件提供的消息字段的值的下列信息:
- 所提供消息文本的语言环境(它标识如何格式化消息中与语言环境无关的字段)以及消息所使用的语言(msgLocale)。
- 一个与消息相关联的与语言环境无关的标识,可使用此标识以独立于消息语言、消息语言环境和消息格式的方式解释消息(msgId 和 msgIdType)。
- 有关如何创建已翻译消息的信息,包括:
- 用于检索消息模板的标识 (msgCatalogId)。
- 用于检索消息模板的消息目录的名称和类型(msgCatalog 和 msgCatalogType)。
- 为创建最终消息而插入到消息模板中的独立于语言环境的信息 (msgCatalogToken)。
- 消息
- 所有消息、日志和跟踪事件必须在公共基本事件的消息字段中提供可供人阅读的消息。消息字段对于问题确定事件(日志事件和诊断事件)是必需的。此字段比公共基本事件的基本规范的限制性更大,基本规范将此字段列示为可选字段,有效的问题确定需要快速标识报告情况的能力。此消息的格式和用法是特定于组件的,但应使用下列一般准则:
- 要求对随消息和日志事件提供的消息文本进行国际化。
- 使用公共基本事件的 msgDataElement 元素中的 msgLocale 字段提供所提供消息文本的语言环境。
- 尽可能使用公共基本事件的 msgDataElement 元素来提供关于国际化消息的格式和构造的其他信息。
- msgLocale
- 只要公共基本事件中提供消息文本,就应该提供消息语言环境(对所有问题确定事件都如此)。msgLocale 字段列示为公共基本事件规范中的可选值,但应尽可能在问题确定事件中提供此信息。此字段不是问题确定事件必需字段的唯一原因在于,有些情况下格式化公共基本事件时语言环境信息未提供或不可用。
- msgId 和 msgIdType
- 有一些公司在国际化消息文本中包括与语言环境无关的标识,此标识可用于解释消息文本描述的情况,它与消息无关。例如,IBM® 软件发出的大多数消息类似于 IEE890I 控制台备份存储器中的 WTO 缓冲区数 = 1024,其中与语言环境无关的唯一标识 IEE890I 位于已翻译消息文本之前。此标识提供了一种唯一地检测和标识消息的方法,它与位置和语言无关。此检测对于独立于语言环境的和使用程序进行的分析非常有价值。
- msgId 字段列示为公共基本事件规范中的可选值,但只要此标识包括在消息文本中就必须在问题确定事件中提供。同样,msgIdType 字段列示为公共基本事件规范中的可选值,但只要为 msgId 提供值就必须在问题确定事件中提供。当消息文本未翻译或未本地化(例如,用于跟踪事件)时,不要提供这些字段。
- msgCatalogId
- msgCatalogId 字段列示为公共基本事件规范中的可选值,但只要公共基本事件包括已本地化或已翻译的消息文本就应提供此值,例如,当提供表示已发出消息或日志事件的问题确定事件时。 此字段不是问题确定事件的必需字段,这是因为并非所有问题确定事件都包括已翻译的消息文本,有些情况下格式化公共基本事件时此值未提供或不可用。当消息文本未翻译或未本地化(例如,用于跟踪事件)时,不要提供此字段。
- msgCatalogToken
- msgCatalogTokens 字段列示为公共基本事件规范中的可选值,但只要公共基本事件包括已本地化或已翻译的消息文本就应提供此值,例如,当提供表示已发出消息或日志事件的问题确定事件时。 此字段不是问题确定事件的必需字段,这是因为并非所有问题确定事件都包括已翻译的消息文本,有些情况下格式化公共基本事件时此值未提供或不可用。此值包含与语言环境无关的值或消息标记的列表,在创建已翻译的消息时,会将这些值插入到已本地化的消息文本中。
- 如果不知道用于创建消息的已翻译的消息模板,要从已翻译的消息抽取这些值会非常困难。当消息文本未翻译或未本地化时,不要提供此字段。
- 公共基本事件提供用于提供有关事件的其他数据的几个机制,这些数据包括此字段、扩展的数据元素和模式的扩展。始终使用 msgCatalogTokens 字段来提供与事件相关联的消息文本中包括的消息标记列表。这些值还会在公共基本事件的其他部分中提供,但它们必须包括在此字段中。
- msgCatalog 和 msgCatalogType
- msgCatalog 和 msgCatalogType 字段列示为公共基本事件规范中的可选值,但只要公共基本事件包括已本地化或已翻译的消息文本就应提供此值,例如,当提供表示已发出消息或日志事件的问题确定事件时。这些字段不是问题确定事件的必需字段,这是因为并非所有问题确定事件都包括已翻译的消息文本,有些情况下格式化公共基本事件时此值未提供或不可用。当消息文本未翻译或未本地化(例如,用于跟踪事件)时,不要填写这些字段。