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