• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.hilog (HiLog日志打印)
2
3hilog日志系统,使应用/服务可以按照指定级别、标识和格式字符串输出日志内容,帮助开发者了解应用/服务的运行状态,更好地调试程序。
4
5> **说明:**
6>
7> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9## 导入模块
10
11```js
12import hilog from '@ohos.hilog';
13```
14
15## hilog.isLoggable
16
17isLoggable(domain: number, tag: string, level: LogLevel) : boolean
18
19在打印日志前调用该接口,用于检查指定领域标识、日志标识和级别的日志是否可以打印。
20
21**系统能力:** SystemCapability.HiviewDFX.HiLog
22
23**参数:**
24
25| 参数名 | 类型                  | 必填 | 说明                                                         |
26| ------ | --------------------- | ---- | ------------------------------------------------------------ |
27| domain | number                | 是   | 日志对应的领域标识,范围是0x0~0xFFFF。<br/>建议开发者在应用内根据需要自定义划分。 |
28| tag    | string                | 是   | 指定日志标识,可以为任意字符串,建议用于标识调用所在的类或者业务行为。 |
29| level  | [LogLevel](#loglevel) | 是   | 日志级别。                                                   |
30
31**返回值:**
32
33| 类型    | 说明                                                         |
34| ------- | ------------------------------------------------------------ |
35| boolean | 如果返回true,则该领域标识、日志标识和级别的日志可以打印,否则不能打印。 |
36
37**示例:**
38
39```js
40hilog.isLoggable(0x0001, "testTag", hilog.LogLevel.INFO);
41```
42
43## LogLevel
44
45日志级别。
46
47**系统能力:** SystemCapability.HiviewDFX.HiLog
48
49| 名称  |   值   | 说明                                                         |
50| ----- | ------ | ------------------------------------------------------------ |
51| DEBUG | 3      | 详细的流程记录,通过该级别的日志可以更详细地分析业务流程和定位分析问题。 |
52| INFO  | 4      | 用于记录业务关键流程节点,可以还原业务的主要运行过程;<br/>用于记录可预料的非正常情况信息,如无网络信号、登录失败等。<br/>这些日志都应该由该业务内处于支配地位的模块来记录,避免在多个被调用的模块或低级函数中重复记录。 |
53| WARN  | 5      | 用于记录较为严重的非预期情况,但是对用户影响不大,应用可以自动恢复或通过简单的操作就可以恢复的问题。 |
54| ERROR | 6      | 应用发生了错误,该错误会影响功能的正常运行或用户的正常使用,可以恢复但恢复代价较高,如重置数据等。 |
55| FATAL | 7      | 重大致命异常,表明应用即将崩溃,故障无法恢复。               |
56
57## hilog.debug
58
59debug(domain: number, tag: string, format: string, ...args: any[]) : void
60
61打印DEBUG级别的日志。
62
63DEBUG级别的日志在正式发布版本中默认不被打印,只有在调试版本或打开调试开关的情况下才会打印。
64
65**系统能力:** SystemCapability.HiviewDFX.HiLog
66
67**参数:**
68
69| 参数名 | 类型   | 必填 | 说明                                                         |
70| ------ | ------ | ---- | ------------------------------------------------------------ |
71| domain | number | 是   | 日志对应的领域标识,范围是0x0~0xFFFF。<br/>建议开发者在应用内根据需要自定义划分。 |
72| tag    | string | 是   | 指定日志标识,可以为任意字符串,建议用于标识调用所在的类或者业务行为。 |
73| format | string | 是   | 格式字符串,用于日志的格式化输出。格式字符串中可以设置多个参数,参数需要包含参数类型、隐私标识。<br>隐私标识分为{public}和{private},缺省为{private}。标识{public}的内容明文输出,标识{private}的内容以\<private>过滤回显。 |
74| args   | any[]  | 是   | 与格式字符串format对应的可变长度参数列表。参数数目、参数类型必须与格式字符串中的标识一一对应。 |
75
76**示例:**
77
78输出一条DEBUG信息,格式字符串为`"%{public}s World %{private}d"`。其中变参`%{public}s`为明文显示的字符串;`%{private}d`为隐私的整型数。
79
80```js
81hilog.debug(0x0001, "testTag", "%{public}s World %{private}d", "hello", 3);
82```
83
84字符串`"hello"`填入`%{public}s`,整型数`3`填入`%{private}d`,输出日志:
85
86```
8708-05 12:21:47.579  2695-2703/com.example.myapplication D 00001/testTag: hello World <private>
88```
89
90## hilog.info
91
92info(domain: number, tag: string, format: string, ...args: any[]) : void
93
94打印INFO级别的日志。
95
96**系统能力:** SystemCapability.HiviewDFX.HiLog
97
98**参数:**
99
100| 参数名 | 类型   | 必填 | 说明                                                         |
101| ------ | ------ | ---- | ------------------------------------------------------------ |
102| domain | number | 是   | 日志对应的领域标识,范围是0x0~0xFFFF。<br/>建议开发者在应用内根据需要自定义划分。  |
103| tag    | string | 是   | 指定日志标识,可以为任意字符串,建议用于标识调用所在的类或者业务行为。 |
104| format | string | 是   | 格式字符串,用于日志的格式化输出。格式字符串中可以设置多个参数,参数需要包含参数类型、隐私标识。<br/>隐私标识分为{public}和{private},缺省为{private}。标识{public}的内容明文输出,标识{private}的内容以\<private>过滤回显。 |
105| args   | any[]  | 是   | 与格式字符串format对应的可变长度参数列表。参数数目、参数类型必须与格式字符串中的标识一一对应。 |
106
107**示例:**
108
109输出一条INFO信息,格式字符串为`"%{public}s World %{private}d"`。其中变参`%{public}s`为明文显示的字符串;`%{private}d`为隐私的整型数。
110
111```js
112hilog.info(0x0001, "testTag", "%{public}s World %{private}d", "hello", 3);
113```
114
115字符串`"hello"`填入`%{public}s`,整型数`3`填入`%{private}d`,输出日志:
116
117```
11808-05 12:21:47.579  2695-2703/com.example.myapplication I 00001/testTag: hello World <private>
119```
120
121## hilog.warn
122
123warn(domain: number, tag: string, format: string, ...args: any[]) : void
124
125打印WARN级别的日志。
126
127**系统能力:** SystemCapability.HiviewDFX.HiLog
128
129**参数:**
130
131| 参数名 | 类型   | 必填 | 说明                                                         |
132| ------ | ------ | ---- | ------------------------------------------------------------ |
133| domain | number | 是   | 日志对应的领域标识,范围是0x0~0xFFFF。<br/>建议开发者在应用内根据需要自定义划分。  |
134| tag    | string | 是   | 指定日志标识,可以为任意字符串,建议用于标识调用所在的类或者业务行为。 |
135| format | string | 是   | 格式字符串,用于日志的格式化输出。格式字符串中可以设置多个参数,参数需要包含参数类型、隐私标识。<br/>隐私标识分为{public}和{private},缺省为{private}。标识{public}的内容明文输出,标识{private}的内容以\<private>过滤回显。 |
136| args   | any[]  | 是   | 与格式字符串format对应的可变长度参数列表。参数数目、参数类型必须与格式字符串中的标识一一对应。 |
137
138**示例:**
139
140输出一条WARN信息,格式字符串为`"%{public}s World %{private}d"`。其中变参`%{public}s`为明文显示的字符串;`%{private}d`为隐私的整型数。
141
142```js
143hilog.warn(0x0001, "testTag", "%{public}s World %{private}d", "hello", 3);
144```
145
146字符串`"hello"`填入`%{public}s`,整型数`3`填入`%{private}d`,输出日志:
147
148```
14908-05 12:21:47.579  2695-2703/com.example.myapplication W 00001/testTag: hello World <private>
150```
151
152## hilog.error
153
154error(domain: number, tag: string, format: string, ...args: any[]) : void
155
156打印ERROR级别的日志。
157
158**系统能力:** SystemCapability.HiviewDFX.HiLog
159
160**参数:**
161
162| 参数名 | 类型   | 必填 | 说明                                                         |
163| ------ | ------ | ---- | ------------------------------------------------------------ |
164| domain | number | 是   | 日志对应的领域标识,范围是0x0~0xFFFF。<br/>建议开发者在应用内根据需要自定义划分。  |
165| tag    | string | 是   | 指定日志标识,可以为任意字符串,建议用于标识调用所在的类或者业务行为。 |
166| format | string | 是   | 格式字符串,用于日志的格式化输出。格式字符串中可以设置多个参数,参数需要包含参数类型、隐私标识。<br/>隐私标识分为{public}和{private},缺省为{private}。标识{public}的内容明文输出,标识{private}的内容以\<private>过滤回显。 |
167| args   | any[]  | 是   | 与格式字符串format对应的可变长度参数列表。参数数目、参数类型必须与格式字符串中的标识一一对应。 |
168
169**示例:**
170
171输出一条ERROR信息,格式字符串为`"%{public}s World %{private}d"`。其中变参`%{public}s`为明文显示的字符串;`%{private}d`为隐私的整型数。
172
173```js
174hilog.error(0x0001, "testTag", "%{public}s World %{private}d", "hello", 3);
175```
176
177字符串`"hello"`填入`%{public}s`,整型数`3`填入`%{private}d`,输出日志:
178
179```
18008-05 12:21:47.579  2695-2703/com.example.myapplication E 00001/testTag: hello World <private>
181```
182
183## hilog.fatal
184
185fatal(domain: number, tag: string, format: string, ...args: any[]) : void
186
187打印FATAL级别的日志。
188
189**系统能力:** SystemCapability.HiviewDFX.HiLog
190
191**参数:**
192
193| 参数名 | 类型   | 必填 | 说明                                                         |
194| ------ | ------ | ---- | ------------------------------------------------------------ |
195| domain | number | 是   | 日志对应的领域标识,范围是0x0~0xFFFF。<br/>建议开发者在应用内根据需要自定义划分。  |
196| tag    | string | 是   | 指定日志标识,可以为任意字符串,建议用于标识调用所在的类或者业务行为。 |
197| format | string | 是   | 格式字符串,用于日志的格式化输出。格式字符串中可以设置多个参数,参数需要包含参数类型、隐私标识。<br/>隐私标识分为{public}和{private},缺省为{private}。标识{public}的内容明文输出,标识{private}的内容以\<private>过滤回显。 |
198| args   | any[]  | 是   | 与格式字符串format对应的可变长度参数列表。参数数目、参数类型必须与格式字符串中的标识一一对应。 |
199
200**示例:**
201
202输出一条FATAL信息,格式字符串为`"%{public}s World %{private}d"`。其中变参`%{public}s`为明文显示的字符串;`%{private}d`为隐私的整型数。
203
204```js
205hilog.fatal(0x0001, "testTag", "%{public}s World %{private}d", "hello", 3);
206```
207
208字符串`"hello"`填入`%{public}s`,整型数`3`填入`%{private}d`,输出日志:
209
210```
21108-05 12:21:47.579  2695-2703/com.example.myapplication F 00001/testTag: hello World <private>
212```