• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# hilog
2
3
4HiLog日志系统,提供给系统框架、服务、以及应用,用于打印日志,记录用户操作、系统运行状态等。开发者可以通过hilog命令行查询相关日志信息。
5
6
7## 前置条件
8
9- 根据hdc命令行工具指导,完成[环境准备](hdc.md#环境准备)。
10
11- 正常连接设备。
12
13
14## 命令行说明
15
16hilog命令行使用方式:
17
18| 短选项 | 长选项 | 参数 | 说明 |
19| -------- | -------- | -------- | -------- |
20| -h | --help |  | 帮助命令。 |
21| 缺省 | 缺省 |  | 阻塞读日志,不退出。 |
22| -x | --exit |  | 非阻塞读日志,读完退出。 |
23| -g |  |  | 查询buffer的大小,配合-t指定某一类型使用,默认app和core。 |
24| -G | --buffer-size | <size> | 设置指定<type>日志类型缓冲区的大小,配合-t指定某一类型使用,默认app和core, 可使用B/K/M为单位,范围为64K-16M。 |
25| -r |  |  | 清除buffer日志,配合-t指定某一类型使用,默认app和core。 |
26| <!--DelRow-->-p | --privacy | &lt;on/off&gt; | 支持系统调试时日志隐私开关控制。 |
27| <!--DelRow--> |  | on | 打开隐私开关,显示&lt;private&gt;。 |
28| <!--DelRow--> |  | off | 关闭隐私开关,显示明文。 |
29| -k |  | &lt;on/off&gt; | Kernel日志读取开关控制。 |
30|  |  | on | 打开读取kernel日志。 |
31|  |  | off | 关闭读取kernel日志。 |
32| -s | --statistics |  | 查询统计信息,需配合-t或-D使用。 |
33| -S |  |  | 清除统计信息,需配合-t或-D使用。 |
34| -Q |  | &lt;control-type&gt; | 流控缺省配额开关控制。 |
35|  |  | pidon | 进程流控开关打开。 |
36|  |  | pidoff | 进程流控开关关闭。 |
37|  |  | domainon | domain流控开关打开。 |
38|  |  | domainoff | domain流控开关关闭。 |
39| -L | --level | &lt;level&gt; | 指定级别的日志,示例:-L D/I/W/E/F。 |
40| -t | --type | &lt;type&gt; | 指定类型的日志,示例:-t app core init。 |
41| -D | --domain | &lt;domain&gt; | 指定domain。 |
42| -T | --tag | &lt;tag&gt; | 指定tag。 |
43| -a | --head | &lt;n&gt; | 只显示前&lt;n&gt;行日志。 |
44| -z | --tail | &lt;n&gt; | 只显示后&lt;n&gt;行日志。 |
45| -P | --pid | &lt;pid&gt; | 标识不同的pid。 |
46| -e | --regex | &lt;expr&gt; | 只打印日志消息与&lt;expr&gt;匹配的行,其中&lt;expr&gt;是一个正则表达式。 |
47| -f | --filename | &lt;filename&gt; | 设置落盘的文件名。 |
48| -l | --length | &lt;length&gt; | 设置落盘的文件大小,需要大于等于64K。 |
49| -n | --number | &lt;number&gt; | 设置落盘文件的个数。 |
50| -j | --jobid | &lt;jobid&gt; | 设置落盘任务的ID。 |
51| -w | --write | &lt;control&gt; | 落盘任务控制。 |
52|  |  | query | 落盘任务查询。 |
53|  |  | start | 落盘任务开始,命令行参数为文件名、单文件大小、落盘算法、rotate文件数目。 |
54|  |  | stop | 落盘任务停止。 |
55|  |  | refresh | 刷新缓冲区的日志到落盘文件。 |
56|  |  | clear | 删除已经落盘的日志文件。 |
57| -m | --stream | &lt;algorithm&gt; | 落盘方式控制。 |
58|  |  | none | 无压缩方式落盘。 |
59|  |  | zlib | zlib压缩算法落盘,落盘文件为.gz。 |
60|  |  | zstd | zstd压缩算法落盘,落盘文件为.zst。 |
61| -v | --format | &lt;format&gt; |  |
62|  |  | time | 显示本地时间。 |
63|  |  | color | 显示不同级别显示不同颜色,参数缺省级别颜色模式处理(按黑白方式)。 |
64|  |  | epoch | 显示相对1970时间。 |
65|  |  | monotonic | 显示相对启动时间。 |
66|  |  | usec | 显示微秒精度时间。 |
67|  |  | nsec | 显示纳秒精度时间。 |
68|  |  | year | 显示将年份添加到显示的时间。 |
69|  |  | zone | 显示将本地时区添加到显示的时间。 |
70| -b | --baselevel | &lt;loglevel&gt; | 设置可打印日志的最低等级:D(DEBUG)/I(INFO)/W(WARN)/E(ERROR)/F(FATAL)。 |
71
72## 常用命令
73
74### 查看帮助命令。
75
76   ```
77   hilog -h
78   ```
79
80   **使用样例:**
81
82   ```
83    $ hilog -h
84    Usage:
85    -h --help
86      Show all help information.
87      Show single help information with option:
88      query/clear/buffer/stats/persist/private/kmsg/flowcontrol/baselevel/domain/combo
89    Querying logs options:
90      No option performs a blocking read and keeps printing.
91      -x --exit
92        Performs a non-blocking read and exits when all logs in buffer are printed.
93      -a <n>, --head=<n>
94        Show n lines logs on head of buffer.
95      -z <n>, --tail=<n>
96        Show n lines logs on tail of buffer.
97   ```
98
99### 查看日志缓冲区大小。
100
101   ```
102   hilog -g
103   ```
104
105   **使用样例:**
106
107   ```
108   $ hilog -g
109   Log type app buffer size is 16.0M
110   Log type init buffer size is 16.0M
111   Log type core buffer size is 16.0M
112   Log type only_prerelease buffer size is 16.0M
113   ```
114
115### 修改日志缓冲区大小。
116
117   ```
118   hilog -G size
119   ```
120
121   **使用样例:**
122   ```
123   $ hilog -G 16M
124   Set log type app buffer size to 16.0M successfully
125   Set log type init buffer size to 16.0M successfully
126   Set log type core buffer size to 16.0M successfully
127   Set log type only_prerelease buffer size to 16.0M successfully
128   ```
129
130### 进程流控开关。
131
132   ```
133   hilog -Q pidon/pidoff
134   ```
135
136
137   **使用样例:**
138
139   ```
140   $ hilog -Q pidon
141   Set flow control by process to enabled successfully
142   $
143   $ hilog -Q pidoff
144   Set flow control by process to disabled successfully
145   ```
146
147### domain流控开关。
148
149   ```
150   hilog -Q domainon/domainoff
151   ```
152
153   **使用样例:**
154
155   ```
156   $ hilog -Q domainon
157   Set flow control by domain to enabled successfully
158   $
159   $ hilog -Q domainoff
160   Set flow control by domain to disabled successfully
161   ```
162
163### 查看指定级别日志。
164
165   ```
166   hilog -L D/I/W/E/F
167   ```
168
169   **使用样例:**
170
171   ```
172   $ hilog -L E
173   08-28 09:01:25.730  2678  2678 E A00F00/com.huawei.hmos.aidataservice/AiDataService_5.10.7.320: DataChangeNotifyManager: notifyDataChange CommonEntity no valid entity to notify
174   08-28 09:01:56.058  8560  8560 E A00500/com.ohos.settingsdata/SettingsData: DB not ready request = datashare:///com.ohos.settingsdata/entry/settingsdata/SETTINGSDATA?Proxy=true&key=analysis_service_switch_on , retry after DB startup
175   08-28 09:01:56.082  8560  8560 E A00500/com.ohos.settingsdata/SettingsData: decoder failure: /data/migrate/settings_global.xml , error code:-1
176   08-28 09:01:56.082  8560  8560 E A00500/com.ohos.settingsdata/SettingsData: clearXml failed:No such file or directory, error code:13900002
177   08-28 09:01:56.083  8560  8560 E A00500/com.ohos.settingsdata/SettingsData: readText failed:No such file or directory, error code:13900002
178   08-28 09:01:56.371  8586  8586 E A00500/com.ohos.settingsdata/SettingsData: DB not ready request =    datashare:///com.ohos.settingsdata/entry/settingsdata/SETTINGSDATA?Proxy=true&key=photo_network_connection_status , retry after DB startup
179   08-28 09:01:56.408  8586  8586 E A00500/com.ohos.settingsdata/SettingsData: decoder failure: /data/migrate/settings_global.xml , error code:-1
180   ```
181
182### 查看指定TAG日志。
183
184   ```
185   hilog -T tag
186   ```
187
188   **使用样例:**
189
190   ```
191   $ hilog -T SAMGR
192   08-28 09:27:59.581   610 11504 I C01800/samgr/SAMGR: CommonEventCollect save extraData 1661
193   08-28 09:27:59.581   610 11504 I C01800/samgr/SAMGR: OnReceiveEvent get action: usual.event.BATTERY_CHANGED code: 0, extraDataId 1661
194   08-28 09:27:59.582   610 11504 I C01800/samgr/SAMGR: DoEvent:4 name:usual.event.BATTERY_CHANGED value:0
195   08-28 09:27:59.582   610 11504 W C01800/samgr/SAMGR: LoadSa SA:10120 AddDeath fail,cnt:1,callpid:610
196   08-28 09:27:59.583   610 11504 I C01800/samgr/SAMGR: LoadSa SA:10120 size:1,count:1
197   08-28 09:27:59.601   610 11504 I C01800/samgr/SAMGR: Scheduler SA:10120 loading
198   08-28 09:27:59.965 11518 11518 I C01800/media_analysis_service/SAMGR: SA:10120 OpenSo spend 315ms
199   08-28 09:27:59.965   610  4064 I C01800/samgr/SAMGR: AddProc:media_analysis_service. size:75
200   ```
201
202### 查看指定进程日志。
203
204   ```
205   hilog -P pid
206   ```
207
208   **使用样例:**
209
210   ```
211   $ hilog -P 618
212   08-28 10:19:16.872   618 17729 I C02D15/hiview/XPower: [task_52]#current system load is: 0.028767
213   08-28 10:19:23.997   618 17580 I C02D10/hiview/CpuCollector: CalculateProcessCpuStatInfos: startTime=1724811553746, endTime=1724811563996, startBootTime=47001084, endBootTime=47011335, period=10251
214   08-28 10:19:23.999   618 17580 I C02D10/hiview/CpuCollector: CollectProcessCpuStatInfos: collect process cpu statistics information size=234, isNeedUpdate=1
215   08-28 10:19:24.002   618 17580 W C01650/hiview/Rdb:  DB :
216   08-28 10:19:24.002   618 17580 W C01650/hiview/Rdb:  device: 12583051 inode: 40230 mode: 432 size: 569344 natime: Wed Aug 28 00:00:06 2024
217   08-28 10:19:24.002   618 17580 W C01650/hiview/Rdb:  smtime: Wed Aug 28 00:34:30 2024
218   08-28 10:19:24.002   618 17580 W C01650/hiview/Rdb:  sctime: Wed Aug 28 00:34:30 2024
219   ```
220
221### 查看、设置落盘任务。
222
223   ```
224   hilog -w control
225   ```
226
227   > **说明:**
228   >
229   > 查询当前任务: hilog -w query
230   >
231   > 开启hilog落盘任务,并且设置落盘文件数量为1000个: hilog -w start -n 1000
232   >
233   > 开启kmsglog落盘任务,并且设置落盘文件数量为100个: hilog -w start -n 100 -t kmsg
234   >
235   > 停止当前落盘任务: hilog -w stop
236
237   **使用样例:**
238
239   ```
240   $ hilog -w query
241   Persist task query failed
242   No running persistent task [CODE: -63]
243   $
244   $ hilog -w start -n 1000
245   Persist task [jobid:1][fileNum:1000][fileSize:4194304] start successfully
246   $
247   $ hilog -w start -n 100 -t kmsg
248   Persist task [jobid:2][fileNum:100][fileSize:4194304] start successfully
249   $
250   $ hilog -w stop
251   Persist task [jobid:1] stop successfully
252   Persist task [jobid:2] stop successfully
253   ```
254
255### 设置可打印日志的最低等级
256
257   ```
258   hilog -b D/I/W/E/F
259   ```
260
261   **使用样例:**
262
263   ```
264   $ hilog -b E
265   Set global log level to E successfully
266   ```
267<!--Del-->
268### 隐私开关
269
270   ```
271   hilog -p on/off
272   ```
273
274   **使用样例:**
275
276   ```
277   # hilog -p on
278   Set hilog privacy format on successfully
279   #
280   # hilog -p off
281   Set hilog privacy format off successfully
282   ```
283<!--DelEnd-->