js-apis-hilog.md 10.9 KB
Newer Older
Z
zengyawen 已提交
1
# Hilog日志打印
Z
zengyawen 已提交
2

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

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

## 导入模块

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

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

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

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

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

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

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

**返回值:**

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

**示例:**

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

42
## LogLevel
Z
zengyawen 已提交
43

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

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

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

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

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

打印DEBUG级别的日志。

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

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

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

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

**示例:**

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

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

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

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

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

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

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

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

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

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

**示例:**

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

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

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

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

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

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

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

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

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

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

**示例:**

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

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

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

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

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

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

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

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

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

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

**示例:**

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

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

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

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

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

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

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

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

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

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

**示例:**

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

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

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

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