js-apis-hilog.md 10.9 KB
Newer Older
1
# @ohos.hilog (HiLog日志打印)
Z
zengyawen 已提交
2

3 4
hilog日志系统,使应用/服务可以按照指定级别、标识和格式字符串输出日志内容,帮助开发者了解应用/服务的运行状态,更好地调试程序。

Z
zengyawen 已提交
5
> **说明:**
6
>
Z
zengyawen 已提交
7
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
8 9 10

## 导入模块

L
lyj_love_code 已提交
11
```js
Z
zengyawen 已提交
12 13 14
import hilog from '@ohos.hilog';
```

15
## hilog.isLoggable
Z
zengyawen 已提交
16

17
isLoggable(domain: number, tag: string, level: LogLevel) : boolean
Z
zengyawen 已提交
18

19
在打印日志前调用该接口,用于检查指定领域标识、日志标识和级别的日志是否可以打印。
Z
zengyawen 已提交
20

Z
zengyawen 已提交
21 22
**系统能力:** SystemCapability.HiviewDFX.HiLog

Z
zengyawen 已提交
23 24
**参数:**

25 26
| 参数名 | 类型                  | 必填 | 说明                                                         |
| ------ | --------------------- | ---- | ------------------------------------------------------------ |
27
| domain | number                | 是   | 日志对应的领域标识,范围是0x0~0xFFFF。<br/>建议开发者在应用内根据需要自定义划分。 |
28 29 30 31 32 33 34 35
| tag    | string                | 是   | 指定日志标识,可以为任意字符串,建议用于标识调用所在的类或者业务行为。 |
| level  | [LogLevel](#loglevel) | 是   | 日志级别。                                                   |

**返回值:**

| 类型    | 说明                                                         |
| ------- | ------------------------------------------------------------ |
| boolean | 如果返回true,则该领域标识、日志标识和级别的日志可以打印,否则不能打印。 |
Z
zengyawen 已提交
36 37 38

**示例:**

L
lyj_love_code 已提交
39
```js
40
hilog.isLoggable(0x0001, "testTag", hilog.LogLevel.INFO);
Z
zengyawen 已提交
41 42
```

43
## LogLevel
Z
zengyawen 已提交
44

45
日志级别。
Z
zengyawen 已提交
46

47
**系统能力:** SystemCapability.HiviewDFX.HiLog
Z
zengyawen 已提交
48

B
buzhenwang 已提交
49
| 名称  |   值   | 说明                                                         |
50 51 52 53 54 55
| ----- | ------ | ------------------------------------------------------------ |
| DEBUG | 3      | 详细的流程记录,通过该级别的日志可以更详细地分析业务流程和定位分析问题。 |
| INFO  | 4      | 用于记录业务关键流程节点,可以还原业务的主要运行过程;<br/>用于记录可预料的非正常情况信息,如无网络信号、登录失败等。<br/>这些日志都应该由该业务内处于支配地位的模块来记录,避免在多个被调用的模块或低级函数中重复记录。 |
| WARN  | 5      | 用于记录较为严重的非预期情况,但是对用户影响不大,应用可以自动恢复或通过简单的操作就可以恢复的问题。 |
| ERROR | 6      | 应用发生了错误,该错误会影响功能的正常运行或用户的正常使用,可以恢复但恢复代价较高,如重置数据等。 |
| FATAL | 7      | 重大致命异常,表明应用即将崩溃,故障无法恢复。               |
Z
zengyawen 已提交
56

57 58 59 60 61 62 63
## hilog.debug

debug(domain: number, tag: string, format: string, ...args: any[]) : void

打印DEBUG级别的日志。

DEBUG级别的日志在正式发布版本中默认不被打印,只有在调试版本或打开调试开关的情况下才会打印。
Z
zengyawen 已提交
64

Z
zengyawen 已提交
65 66
**系统能力:** SystemCapability.HiviewDFX.HiLog

Z
zengyawen 已提交
67 68
**参数:**

69 70
| 参数名 | 类型   | 必填 | 说明                                                         |
| ------ | ------ | ---- | ------------------------------------------------------------ |
71
| domain | number | 是   | 日志对应的领域标识,范围是0x0~0xFFFF。<br/>建议开发者在应用内根据需要自定义划分。 |
72 73 74
| tag    | string | 是   | 指定日志标识,可以为任意字符串,建议用于标识调用所在的类或者业务行为。 |
| format | string | 是   | 格式字符串,用于日志的格式化输出。格式字符串中可以设置多个参数,参数需要包含参数类型、隐私标识。<br>隐私标识分为{public}和{private},缺省为{private}。标识{public}的内容明文输出,标识{private}的内容以\<private>过滤回显。 |
| args   | any[]  | 是   | 与格式字符串format对应的可变长度参数列表。参数数目、参数类型必须与格式字符串中的标识一一对应。 |
Z
zengyawen 已提交
75 76 77

**示例:**

78 79
输出一条DEBUG信息,格式字符串为`"%{public}s World %{private}d"`。其中变参`%{public}s`为明文显示的字符串;`%{private}d`为隐私的整型数。

L
lyj_love_code 已提交
80
```js
81
hilog.debug(0x0001, "testTag", "%{public}s World %{private}d", "hello", 3);
Z
zengyawen 已提交
82 83
```

84
字符串`"hello"`填入`%{public}s`,整型数`3`填入`%{private}d`,输出日志:
Z
zengyawen 已提交
85 86

```
87
08-05 12:21:47.579  2695-2703/com.example.myapplication D 00001/testTag: hello World <private>
Z
zengyawen 已提交
88 89
```

90
## hilog.info
Z
zengyawen 已提交
91

92
info(domain: number, tag: string, format: string, ...args: any[]) : void
Z
zengyawen 已提交
93

94
打印INFO级别的日志。
Z
zengyawen 已提交
95

Z
zengyawen 已提交
96 97
**系统能力:** SystemCapability.HiviewDFX.HiLog

Z
zengyawen 已提交
98 99
**参数:**

100 101
| 参数名 | 类型   | 必填 | 说明                                                         |
| ------ | ------ | ---- | ------------------------------------------------------------ |
102
| domain | number | 是   | 日志对应的领域标识,范围是0x0~0xFFFF。<br/>建议开发者在应用内根据需要自定义划分。  |
103 104 105
| tag    | string | 是   | 指定日志标识,可以为任意字符串,建议用于标识调用所在的类或者业务行为。 |
| format | string | 是   | 格式字符串,用于日志的格式化输出。格式字符串中可以设置多个参数,参数需要包含参数类型、隐私标识。<br/>隐私标识分为{public}和{private},缺省为{private}。标识{public}的内容明文输出,标识{private}的内容以\<private>过滤回显。 |
| args   | any[]  | 是   | 与格式字符串format对应的可变长度参数列表。参数数目、参数类型必须与格式字符串中的标识一一对应。 |
Z
zengyawen 已提交
106 107 108

**示例:**

109 110
输出一条INFO信息,格式字符串为`"%{public}s World %{private}d"`。其中变参`%{public}s`为明文显示的字符串;`%{private}d`为隐私的整型数。

L
lyj_love_code 已提交
111
```js
112
hilog.info(0x0001, "testTag", "%{public}s World %{private}d", "hello", 3);
Z
zengyawen 已提交
113 114
```

115
字符串`"hello"`填入`%{public}s`,整型数`3`填入`%{private}d`,输出日志:
Z
zengyawen 已提交
116 117

```
118
08-05 12:21:47.579  2695-2703/com.example.myapplication I 00001/testTag: hello World <private>
Z
zengyawen 已提交
119 120
```

121
## hilog.warn
Z
zengyawen 已提交
122

123
warn(domain: number, tag: string, format: string, ...args: any[]) : void
Z
zengyawen 已提交
124

125
打印WARN级别的日志。
Z
zengyawen 已提交
126

Z
zengyawen 已提交
127 128
**系统能力:** SystemCapability.HiviewDFX.HiLog

Z
zengyawen 已提交
129 130
**参数:**

131 132
| 参数名 | 类型   | 必填 | 说明                                                         |
| ------ | ------ | ---- | ------------------------------------------------------------ |
133
| domain | number | 是   | 日志对应的领域标识,范围是0x0~0xFFFF。<br/>建议开发者在应用内根据需要自定义划分。  |
134 135 136
| tag    | string | 是   | 指定日志标识,可以为任意字符串,建议用于标识调用所在的类或者业务行为。 |
| format | string | 是   | 格式字符串,用于日志的格式化输出。格式字符串中可以设置多个参数,参数需要包含参数类型、隐私标识。<br/>隐私标识分为{public}和{private},缺省为{private}。标识{public}的内容明文输出,标识{private}的内容以\<private>过滤回显。 |
| args   | any[]  | 是   | 与格式字符串format对应的可变长度参数列表。参数数目、参数类型必须与格式字符串中的标识一一对应。 |
Z
zengyawen 已提交
137 138 139

**示例:**

140 141
输出一条WARN信息,格式字符串为`"%{public}s World %{private}d"`。其中变参`%{public}s`为明文显示的字符串;`%{private}d`为隐私的整型数。

L
lyj_love_code 已提交
142
```js
143
hilog.warn(0x0001, "testTag", "%{public}s World %{private}d", "hello", 3);
Z
zengyawen 已提交
144 145
```

146
字符串`"hello"`填入`%{public}s`,整型数`3`填入`%{private}d`,输出日志:
Z
zengyawen 已提交
147 148

```
149
08-05 12:21:47.579  2695-2703/com.example.myapplication W 00001/testTag: hello World <private>
Z
zengyawen 已提交
150 151
```

152
## hilog.error
Z
zengyawen 已提交
153

154
error(domain: number, tag: string, format: string, ...args: any[]) : void
Z
zengyawen 已提交
155

156
打印ERROR级别的日志。
Z
zengyawen 已提交
157

Z
zengyawen 已提交
158 159
**系统能力:** SystemCapability.HiviewDFX.HiLog

Z
zengyawen 已提交
160 161
**参数:**

162 163
| 参数名 | 类型   | 必填 | 说明                                                         |
| ------ | ------ | ---- | ------------------------------------------------------------ |
164
| domain | number | 是   | 日志对应的领域标识,范围是0x0~0xFFFF。<br/>建议开发者在应用内根据需要自定义划分。  |
165 166 167
| tag    | string | 是   | 指定日志标识,可以为任意字符串,建议用于标识调用所在的类或者业务行为。 |
| format | string | 是   | 格式字符串,用于日志的格式化输出。格式字符串中可以设置多个参数,参数需要包含参数类型、隐私标识。<br/>隐私标识分为{public}和{private},缺省为{private}。标识{public}的内容明文输出,标识{private}的内容以\<private>过滤回显。 |
| args   | any[]  | 是   | 与格式字符串format对应的可变长度参数列表。参数数目、参数类型必须与格式字符串中的标识一一对应。 |
Z
zengyawen 已提交
168 169 170

**示例:**

171 172
输出一条ERROR信息,格式字符串为`"%{public}s World %{private}d"`。其中变参`%{public}s`为明文显示的字符串;`%{private}d`为隐私的整型数。

L
lyj_love_code 已提交
173
```js
174
hilog.error(0x0001, "testTag", "%{public}s World %{private}d", "hello", 3);
Z
zengyawen 已提交
175 176
```

177
字符串`"hello"`填入`%{public}s`,整型数`3`填入`%{private}d`,输出日志:
Z
zengyawen 已提交
178 179

```
180
08-05 12:21:47.579  2695-2703/com.example.myapplication E 00001/testTag: hello World <private>
Z
zengyawen 已提交
181 182
```

183
## hilog.fatal
Z
zengyawen 已提交
184

185
fatal(domain: number, tag: string, format: string, ...args: any[]) : void
Z
zengyawen 已提交
186

187
打印FATAL级别的日志。
Z
zengyawen 已提交
188

Z
zengyawen 已提交
189 190
**系统能力:** SystemCapability.HiviewDFX.HiLog

Z
zengyawen 已提交
191 192
**参数:**

193 194
| 参数名 | 类型   | 必填 | 说明                                                         |
| ------ | ------ | ---- | ------------------------------------------------------------ |
195
| domain | number | 是   | 日志对应的领域标识,范围是0x0~0xFFFF。<br/>建议开发者在应用内根据需要自定义划分。  |
196 197 198
| tag    | string | 是   | 指定日志标识,可以为任意字符串,建议用于标识调用所在的类或者业务行为。 |
| format | string | 是   | 格式字符串,用于日志的格式化输出。格式字符串中可以设置多个参数,参数需要包含参数类型、隐私标识。<br/>隐私标识分为{public}和{private},缺省为{private}。标识{public}的内容明文输出,标识{private}的内容以\<private>过滤回显。 |
| args   | any[]  | 是   | 与格式字符串format对应的可变长度参数列表。参数数目、参数类型必须与格式字符串中的标识一一对应。 |
Z
zengyawen 已提交
199 200 201

**示例:**

202 203
输出一条FATAL信息,格式字符串为`"%{public}s World %{private}d"`。其中变参`%{public}s`为明文显示的字符串;`%{private}d`为隐私的整型数。

L
lyj_love_code 已提交
204
```js
205
hilog.fatal(0x0001, "testTag", "%{public}s World %{private}d", "hello", 3);
Z
zengyawen 已提交
206 207
```

208
字符串`"hello"`填入`%{public}s`,整型数`3`填入`%{private}d`,输出日志:
Z
zengyawen 已提交
209

210 211 212
```
08-05 12:21:47.579  2695-2703/com.example.myapplication F 00001/testTag: hello World <private>
```