1# hisysevent 2 3hisysevent是系统的预置工具,主要用来帮助开发者订阅实时系统事件,查询历史系统事件。 4 5## 环境要求 6 7- 根据hdc命令行工具指导,完成[环境准备](hdc.md#环境准备)。 8 9- 确保设备已正常连接,并执行hdc shell。 10 11- 在终端使用执行"hisysevent"命令完成相关能力的调用。 12 13## 订阅实时系统事件 14 15- 使用"hisysevent -r"命令完成对系统事件的订阅。 16 17  18 19- 使用"-g"指定事件类型来完成对系统事件更高精确度的订阅。 20 21 > **说明:** 22 > 订阅实时系统事件时,使用"-g"可以指定**FAULT**(错误类型)、**STATISTIC**(统计类型)、**SECURITY**(安全类型)以及**BEHAVIOR**(用户行为类型)四种事件类型。 23 > 24 > 如果开发者没有使用"-g"指定事件类型,hisysevent命令行工具将订阅所有类型的系统事件。 25 26 样例:订阅**FAULT**(错误)类型的系统事件。 27 28  29 30- 使用"-o"指定事件域,"-n"指定事件名,以及"-c"指定事件域和事件名称的匹配规则,完成系统事件更高精确度的订阅。 31 32 > **说明:** 33 > 订阅实时系统事件时,使用"-c"可以指定**WHOLE_WORD**(全词匹配)、**PREFIX**(前缀匹配)以及**REGULAR**(正则匹配)三种匹配规则。 34 > 35 > 如果开发者没有使用"-c"指定匹配规则,hisysevent命令行工具将默认使用**WHOLE_WORD**匹配规则进行订阅匹配。 36 37 样例1:使用全词匹配规则,订阅事件域为"AAFWK",事件名称为"CONNECT_SERVICE"的系统事件。 38 39  40 41 样例2:使用前缀匹配规则,订阅事件域前缀为"AAF",事件名称前缀为"CONNECT"的系统事件。 42 43  44 45 样例3:使用正则表达式匹配规则,订阅事件域可以匹配"AA\*"正则表达式,事件名称可以匹配"CONNE\*"正则表达式的系统事件。 46 47  48 49- 使用"-t"指定事件标签以及"-c"指定事件标签的匹配规则,来完成系统事件更高精确度的订阅。 50 51 样例1:使用全词匹配规则,订阅事件标签为"ability"的系统事件。 52 53  54 55 样例2:使用前缀匹配规则,订阅事件标签前缀为"abili"的系统事件。 56 57  58 59 样例3:使用正则表达式匹配规则,订阅事件标签可以匹配"abi\*"正则表达式的系统事件。 60 61  62 63## 查询历史事件 64 65- 使用"hisysevent -l"命令完成对已落盘的系统事件的查询。 66 67  68 69- 可以使用"-g"指定事件类型来完成对系统事件更高精确度的查询。 70 71 > **说明:** 72 > 查询历史事件时,使用"-g"可以指定**FAULT**(错误类型)、**STATISTIC**(统计类型)、**SECURITY**(安全类型)以及**BEHAVIOR**(用户行为类型)四种事件类型。 73 > 74 > 如果开发者没有使用"-g"指定事件类型,hisysevent命令行工具将查询所有类型的系统事件。 75 76 样例:查询**SECURITY**(安全)类型的系统事件。 77 78  79 80- 使用"-s"指定起始原始时间戳、"-e"指定截止原始时间戳,完成对特定时间段内系统事件的查询。 81 82 > **说明:** 83 > 原始时间戳精确度为毫秒。 84 85 样例:查询起始时间戳是1708604541551,结束时间戳是1708604558551时间段内的所有系统事件。 86 87  88 89- 使用"-S"指定起始格式化时间戳、"-E"指定截止格式化时间戳,完成对特定时间段内系统事件的查询。 90 91 > **说明:** 92 > 格式化时间戳的格式为:"YYYY-MM-DD hh:mm:ss"。 93 94 样例:查询起始时间戳是"2024-02-22 20:22:21",结束时间戳是"2024-02-22 20:22:38"时间段内的所有系统事件。 95 96  97 98- 使用"-o"指定事件域,"-n"指定事件名,以及"-c"指定事件域和事件名称的匹配规则,来完成系统事件更高精度的查询。 99 100 > **说明:** 101 > 查询历史事件时,使用"-c"只能指定**WHOLE_WORD**(全词匹配)一种匹配规则。 102 > 103 > 如果开发者不使用"-c"指定匹配规则,hisysevent命令行工具将使用**WHOLE_WORD**(全词匹配)匹配规则进行查询匹配。 104 105 样例:使用全词匹配规则,查询事件域为"AAFWK",事件名称为"CONNECT_SERVICE"的系统事件。 106 107  108 109- 使用"-m"指定查询的最大系统事件条数。 110 111 > **说明:** 112 > 查询历史事件时,如果开发者不使用"-m"指定查询的最大系统事件条数,hisysevent命令行工具默认最多只查询10000条系统事件。 113 114  115 116  117 118## 合法性检查模式 119 120可以使用"-v"打开合法性检查模式。 121 122在合法性检查模式开启后,任何订阅或者查询到的系统事件中,如果包含非法内容都会红色高亮显示。 123 124> **说明:** 125> 126> “非法内容”的定义标准: 127> 128> 1. 未配置的自定义参数键。 129> 2. 类型和定义的类型不匹配的值。 130 131样例:事件域为"ACE",事件名称为"INTERACTION_APP_JANK"的<!--RP1-->[系统事件配置](../../device-dev/subsystems/subsys-dfx-hisysevent-logging-config.md)<!--RP1End-->中不包含"DURITION"、"DISPLAY_ANIMATOR"自定义参数,但是实际落盘的系统事件却包含此字符串类型的键值对,合法性检查模式开启的情况下,此键值对的键被红色高亮标注。 132 133 134