自定义审计类别
审计子系统提供了一组固定的可用审计类别。已将通过 ThingWorx Platform 中的事件触发的审计消息分配给这些类别。您无法更改这些分配。但是,如果您所需要的类别没有位于此集合中,则可以创建一个自定义类别并将您的自定义事件和审计消息分配至该类别。
如何通过本地化表添加自定义审计类别
审计子系统的两种实现都提供了用于添加自定义审计类别的下列方法:
使用 ThingWorx Composer 通过 ThingWorx 本地化表进行修改。
通过为 ThingWorx Platform 创建新的后端 Java 扩展。要使用 ThingWorx Java SDK 创建自定义审计类别,以针对此目的创建扩展,请参阅 使用扩展创建自定义审计类别。此方法仍使用本地化表,但可以按此处所述,通过 Composer 用户界面以编程或交互方式创建令牌。
本部分将介绍如何通过本地化表用户界面在 ThingWorx Platform 侧添加自定义类别。如果您从未使用过 ThingWorx 的本地化表,请花几分钟时间来阅读此帮助中心中的本地化表主题。
准备就绪后,请按照以下步骤将自定义审计类别添加到本地化表:
1. 登录到 ThingWorx Composer,然后单击 (“浏览”)。
2. “浏览”导航面板的“系统”下,选择“本地化表”,如下图所示:
随即出现本地化表列表:
3. 选择默认本地化表的复选框,当其变为活动状态后,单击“编辑”按钮以在编辑模式下显示该表格,如下所示:
默认本地化表的本地化标记页面将以编辑模式显示:
4. 如下图所示,单击 +“添加”,为自定义审计类别添加本地化标记:
“新建本地化标记”页面将显示在屏幕的右侧:
5. “名称”字段中,必须首先键入审计类别本地化标记的前缀 audit.AuditCategory.,然后再键入一个唯一名称。自定义类别所使用的名称必须唯一。例如,audit.AuditCategory.CustomAlertCategory
* 
只要标记有效,QueryAuditHistoryQueryAuditHistoryWithQueryCriteria 服务即可返回自定义审计消息,是否带有前缀均可。但是,如果不使用前缀,则子系统将无法区分审计类别标记与“其他”标记。此外,要使审计子系统在审计日志用户界面的类别列表中显示一个自定义审计类别,每个自定义审计类别都必须使用前缀 audit.AuditCategory.
6. “标记值”字段中,您可以使用任何您认为适用于该类别的内容。例如,使用在前缀后键入的部分名称。也可以使用任何字母数字字符、空格和下划线。
请注意,在其他语言的本地化表中,“标记值”将会成为此标记的“引用值”
7. 要保存此本地化标记,然后为审计消息创建本地化标记,请单击 并继续执行下一步。如果要在此处停止,请单击 以保存并关闭页面。
* 
如果在未于其他本地化表中定义此本地化标记的情况下进行查询,则查询服务将仅返回您创建的内容。将标记添加到其他本地化表后,结果将包括其他语言。如果尚未为自定义审计消息定义标记,则查询无法找到它。
接下来,您会将自定义审计消息的本地化标记添加到默认本地化表中。
8. 如果已将其关闭,请单击“添加”以再次显示“新建本地化标记”页面。否则,请继续下一步。
9. “标记名称”字段中,为自定义审计消息标记键入唯一的前缀和唯一的名称。请勿使用 audit.AuditCategory 作为前缀。自定义审计消息的名称必须唯一。例如,myCustomAlertMessages.AlertEvent
* 
前缀 audit.AuditCategory 仅专用于类别。如果将该前缀用于消息,该消息会被解释为类别,且会在审计日志用户界面中显示为类别,而不是消息。
对于自定义审计消息,您需要 ThingWorx 用户界面中不可用的其他信息。该信息是自定义审计消息的参数。例如,自变量可能为 thingNamealertEventMsg,示例值为 mixer123overflow。可在消息的“标记值”中指定此类自变量。当通过审计查询生成并返回自定义审计消息时,将替换这些值。简单消息 (如“实体文件导入已成功完成”) 无需指定任何自变量。
* 
有关创建自定义事件的信息,请参阅使用事件、警报和订阅ThingWorx API 文档。
10. “标记值”字段中,为审计消息添加自变量。每个自变量必须以两个下划线开头,且后面跟有两个下划线。例如,假设用于移除 User 的自定义审计消息具有以下参数
username
entityType
entityName
您可以在“标记值”字段中输入以下内容:
User __username__ removed __entityType__ named '__entityName__'
在运行时,只要自定义审计消息参数中存在相应的值,就会替换这三个参数。
* 
有些消息不需要使用自变量。例如,诸如“实体文件导入已成功完成”之类的简单消息不会使用替换。
11. 单击 以保存并关闭页面。
12. 要测试自定义审计类别和消息的添加,可触发生成消息的事件,然后运行 QueryAuditHistoryQueryAuditHistoryWithQueryCriteria 服务,指定要返回的区域设置。切记,必须将类别的本地化标记与 QueryAuditHistoryWithQueryCriteria 服务配合使用。
接下来,您需要为您的自定义审计类别添加一个本地化标记,并在每个所需区域设置的本地化表中添加消息。例如,适用于日语的 ja 或适用于德语 de
请按照以下步骤执行:
1. 单击“浏览”选项卡返回到本地化表列表,然后选取其他区域设置。例如,选择 ja (日语),然后单击“编辑”,如下所示:
2. ja 区域设置的本地化标记页面中,查找您刚刚为自定义审计类别创建的本地化标记。
* 
要快速查找标记,请使用列表顶部的“筛选器”。开始在标记名称中键入词语。例如,如果在名称中使用了 "MyCustom",则首先在筛选器字段中键入如下所示的内容。将显示包含该词语的所有本地化标记。
3. 单击自定义审计类别标记的名称,以在选项卡的右侧显示其编辑页面,如下图所示。
4. “标记值”字段中,输入在默认区域设置中用于此类别的标记值的翻译值。
5. 单击 以保存并关闭编辑页面。
6. 在本地化标记列表中,使用“筛选器”来查找您在默认区域设置中为自定义审计消息创建的标记的名称,然后单击它以在选项卡的右侧显示其编辑页面。
7. “标记值”字段中,添加消息的已翻译部分,并在适用的情况下,添加审计消息的已翻译自变量名称。与默认区域设置的标记值一样,每个自变量都必须以两个下划线开头,且后面跟有两个下划线。
8. 单击 以保存并关闭编辑页面。
9. 要测试自定义审计类别和消息的添加,可触发生成消息的事件,然后运行 QueryAuditHistoryQueryAuditHistoryWithQueryCriteria 服务,指定要返回的区域设置。切记,必须指定类别的本地化标记,而非名称。
* 
使用 ThingWorx Java API,您可以在扩展中执行与此相关的所有操作。您可以创建要审计的事件,然后将自定义审计类别和自定义审计消息添加到本地化表中,默认设置为通用英语,然后添加所需的任何其他区域设置的表。此外,您还可以导入本地化表作为导入扩展的一部分。
有关以编程方式添加事件的信息,请参阅本帮助中心中“开发应用程序的最佳做法”部分的使用事件、警报和订阅。另请参阅 ThingWorx API 的 Javadoc,API 文档
有关使用本地化表打包扩展的信息,请参阅打包扩展和本地化表
这对您有帮助吗?