• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.logLibrary (维测日志获取)
2
3本模块提供了获取各类系统维测日志的能力。
4
5> **说明:**
6>
7> - 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> - 本模块的接口为系统接口。
9
10## 导入模块
11
12```ts
13import logLibrary from '@ohos.logLibrary';
14```
15
16## LogEntry
17
18日志文件对象接口。
19
20**系统能力:** SystemCapability.HiviewDFX.Hiview.LogLibrary
21
22| 名称 | 类型 | 可读 | 可写 | 说明 |
23| -------- | -------- | -------- | -------- | -------- |
24| name | string | 是 | 否 | 文件名称。 |
25| mtime | number | 是 | 否  | 上次修改该文件的时间,表示距1970年1月1日0时0分0秒的秒数。 |
26| size | number | 是 | 否  | 文件大小,以字节为单位。 |
27
28## logLibrary.list
29
30list(logType: string): LogEntry[]
31
32以同步方法查询指定类型的日志文件列表,接收string类型的对象作为参数,返回指定类型日志的文件列表信息。
33
34**需要权限:** ohos.permission.READ_HIVIEW_SYSTEM
35
36**系统能力:** SystemCapability.HiviewDFX.Hiview.LogLibrary
37
38**参数:**
39
40| 参数名    | 类型                      | 必填 | 说明                                                         |
41| --------- | ------------------------- | ---- | ------------------------------------------------------------ |
42| logType | string | 是 | 日志类型字符串,例如“HILOG”, "FAULTLOG", "BETACLUB", "REMOTELOG"等。 |
43
44**返回值:**
45
46| 类型                | 说明                                                         |
47| ------------------- | ------------------------------------------------------------ |
48| LogEntry[] | 日志文件对象的数组。 |
49
50**错误码:**
51
52以下错误码的详细介绍请参见[维测日志错误码](../errorcodes/errorcode-loglibrary.md)。
53
54| 错误码ID | 错误信息 |
55| ------- | ----------------------------------------------------------------- |
56| 201 | Permission denied.  |
57| 202 | Permission denied, non-system app called system api. |
58| 401 | Invalid argument.|
59
60**示例:**
61
62```ts
63import logLibrary from '@ohos.logLibrary';
64
65try {
66    let logObj = logLibrary.list('HILOG');
67    // do something here.
68} catch (error) {
69    console.error(`error code: ${error?.code}, error msg: ${error?.message}`);
70}
71```
72
73## logLibrary.copy
74
75copy(logType: string, logName: string, dest: string): Promise<void>
76
77拷贝指定日志类型的指定文件到目标应用目录下。使用Promise回调。
78
79**需要权限:** ohos.permission.READ_HIVIEW_SYSTEM
80
81**系统能力:** SystemCapability.HiviewDFX.Hiview.LogLibrary
82
83**参数:**
84
85| 参数名    | 类型                    | 必填 | 说明 |
86| --------- | ----------------------- | ---- | --------------- |
87| logType | string | 是 | 日志类型字符串,例如“HILOG”, "FAULTLOG", "BETACLUB", "REMOTELOG"等。 |
88| logName | string | 是   | 日志文件名称。 |
89| dest | string | 是   | 目标目录,需填入相对目录名称。传入dest字串后,日志文件将保存到应用缓存路径下的"hiview/*dest*"文件夹,即"../cache/hiview/*dest*"。可填入多层目录。<br>如果传入空字串,将保存到根目录下,即应用缓存路径下的hiview文件夹。 |
90
91**返回值:**
92
93| 类型                | 说明                                                         |
94| ------------------- | ------------------------------------------------------------ |
95| Promise&lt;void&gt; | Promise实例,可以在其then()、catch()方法中分别对拷贝成功、拷贝异常的回调进行处理。 |
96
97**错误码:**
98
99以下错误码的详细介绍请参见[维测日志错误码](../errorcodes/errorcode-loglibrary.md)。
100
101| 错误码ID | 错误信息 |
102| -------- | ---------------------------------------------------------------- |
103| 201 | Permission denied.  |
104| 202 | Permission denied, non-system app called system api. |
105| 401 | Invalid argument.|
106| 21300001 | Source file does not exists.  |
107
108**示例:**
109
110```ts
111import logLibrary from '@ohos.logLibrary';
112import { BusinessError } from '@ohos.base';
113
114try {
115    logLibrary.copy('HILOG', 'hiapplogcat-1.zip', ''
116    ).then(
117        (val) => {
118            // do something here.
119        }
120    ).catch(
121        (err: BusinessError) => {
122            // do something here.
123        }
124    )
125} catch (error) {
126    console.error(`error code: ${error?.code}, error msg: ${error?.message}`);
127}
128```
129
130## logLibrary.copy
131
132copy(logType: string, logName: string, dest: string, callback: AsyncCallback&lt;void&gt;): void
133
134拷贝指定日志类型的指定文件到目标应用目录下。使用callback回调。
135
136**需要权限:** ohos.permission.READ_HIVIEW_SYSTEM
137
138**系统能力:** SystemCapability.HiviewDFX.Hiview.LogLibrary
139
140**参数:**
141
142| 参数名    | 类型                      | 必填 | 说明                                                         |
143| --------- | ------------------------- | ---- | ------------------------------------------------------------ |
144| logType | string | 是 | 日志类型字符串,例如“HILOG”, "FAULTLOG", "BETACLUB", "REMOTELOG"等。 |
145| logName | string | 是   | 日志文件名称。 |
146| dest | string | 是   | 目标目录,需填入相对目录名称。传入dest字串后,日志文件将保存到应用缓存路径下的"hiview/*dest*"文件夹,即"../cache/hiview/*dest*"。可填入多层目录。<br>如果传入空字串,将保存到根目录下,即应用缓存路径下的hiview文件夹。 |
147| callback  | AsyncCallback&lt;void&gt; | 是 | 回调函数,可以在回调函数中处理接口返回值。0表示拷贝成功,其它值表示拷贝失败。 |
148
149**错误码:**
150
151以下错误码的详细介绍请参见[维测日志错误码](../errorcodes/errorcode-loglibrary.md)。
152
153| 错误码ID | 错误信息 |
154| ------- | ----------------------------------------------------------------- |
155| 201 | Permission denied.  |
156| 202 | Permission denied, non-system app called system api. |
157| 401 | Invalid argument.|
158| 21300001 | Source file does not exists.  |
159
160**示例:**
161
162```ts
163import logLibrary from '@ohos.logLibrary';
164
165try {
166    logLibrary.copy('HILOG', 'hiapplogcat-1.zip', 'dir1', (error, val) => {
167        if (val === undefined) {
168            // copy failed.
169        } else {
170            // copy success.
171        }
172    });
173} catch (error) {
174    console.error(`error code: ${error?.code}, error msg: ${error?.message}`);
175}
176```
177
178## logLibrary.move
179
180move(logType: string, logName: string, dest: string): Promise&lt;void&gt;
181
182移动指定日志类型的指定文件到目标应用目录下。使用Promise回调。
183
184**需要权限:** ohos.permission.WRITE_HIVIEW_SYSTEM
185
186**系统能力:** SystemCapability.HiviewDFX.Hiview.LogLibrary
187
188**参数:**
189
190| 参数名    | 类型                    | 必填 | 说明 |
191| --------- | ----------------------- | ---- | --------------- |
192| logType | string | 是 | 日志类型字符串,例如"FAULTLOG", "BETACLUB", "REMOTELOG"等。 |
193| logName | string | 是   | 日志文件名称。 |
194| dest | string | 是   | 目标目录,需填入相对目录名称。传入dest字串后,日志文件将保存到应用缓存路径下的"hiview/*dest*"文件夹,即"../cache/hiview/*dest*"。可填入多层目录。<br>如果传入空字串,将保存到根目录下,即应用缓存路径下的hiview文件夹。 |
195
196**返回值:**
197
198| 类型                | 说明                                                         |
199| ------------------- | ------------------------------------------------------------ |
200| Promise&lt;void&gt; | Promise实例,可以在其then()、catch()方法中分别对移动成功、移动异常的回调进行处理。 |
201
202**错误码:**
203
204以下错误码的详细介绍请参见[维测日志错误码](../errorcodes/errorcode-loglibrary.md)。
205
206| 错误码ID | 错误信息 |
207| -------- | ---------------------------------------------------------------- |
208| 201 | Permission denied.  |
209| 202 | Permission denied, non-system app called system api. |
210| 401 | Invalid argument.|
211| 21300001 | Source file does not exists.  |
212
213**示例:**
214
215```ts
216import logLibrary from '@ohos.logLibrary';
217import { BusinessError } from '@ohos.base';
218
219try {
220    logLibrary.move('FAULTLOG', 'fault_log_test.zip', ''
221    ).then(
222        (val) => {
223            // do something here.
224        }
225    ).catch(
226        (err: BusinessError) => {
227            // do something here.
228        }
229    )
230} catch (error) {
231    console.error(`error code: ${error?.code}, error msg: ${error?.message}`);
232}
233```
234
235## logLibrary.move
236
237move(logType: string, logName: string, dest: string, callback: AsyncCallback&lt;void&gt;): void
238
239移动指定日志类型的指定文件到目标应用目录下。使用callback回调。
240
241**需要权限:** ohos.permission.WRITE_HIVIEW_SYSTEM
242
243**系统能力:** SystemCapability.HiviewDFX.Hiview.LogLibrary
244
245**参数:**
246
247| 参数名    | 类型                      | 必填 | 说明                                                         |
248| --------- | ------------------------- | ---- | ------------------------------------------------------------ |
249| logType | string | 是 | 日志类型字符串,例如“HILOG”, "FAULTLOG", "BETACLUB", "REMOTELOG"等。 |
250| logName | string | 是   | 日志文件名称。 |
251| dest | string | 是   | 目标目录,需填入相对目录名称。传入dest字串后,日志文件将保存到应用缓存路径下的"hiview/*dest*"文件夹,即"../cache/hiview/*dest*"。可填入多层目录。<br>如果传入空字串,将保存到根目录下,即应用缓存路径下的hiview文件夹。 |
252| callback  | AsyncCallback&lt;void&gt; | 是 | 回调函数,可以在回调函数中处理接口返回值。0表示移动成功,其它值表示移动失败。 |
253
254**错误码:**
255
256以下错误码的详细介绍请参见[维测日志错误码](../errorcodes/errorcode-loglibrary.md)。
257
258| 错误码ID | 错误信息 |
259| ------- | ----------------------------------------------------------------- |
260| 201 | Permission denied.  |
261| 202 | Permission denied, non-system app called system api. |
262| 401 | Invalid argument.|
263| 21300001 | Source file does not exists.  |
264
265**示例:**
266
267```ts
268import logLibrary from '@ohos.logLibrary';
269
270try {
271    logLibrary.move('FAULTLOG', 'fault_log_test.zip', 'dir1/dir2', (error, val) => {
272        if (val === undefined) {
273            // move failed.
274        } else {
275            // move success.
276        }
277    });
278} catch (error) {
279    console.error(`error code: ${error?.code}, error msg: ${error?.message}`);
280}
281```
282
283## logLibrary.remove
284
285remove(logType: string, logName: string): void
286
287以同步方法删除指定日志类型的指定文件。
288
289**需要权限:** ohos.permission.WRITE_HIVIEW_SYSTEM
290
291**系统能力:** SystemCapability.HiviewDFX.Hiview.LogLibrary
292
293**参数:**
294
295| 参数名    | 类型                      | 必填 | 说明                                                         |
296| --------- | ------------------------- | ---- | ------------------------------------------------------------ |
297| logType | string | 是 | 日志类型字符串,例如"FAULTLOG", "BETACLUB", "REMOTELOG"等。 |
298| logName | string | 是   | 日志文件名称。 |
299
300**错误码:**
301
302以下错误码的详细介绍请参见[维测日志错误码](../errorcodes/errorcode-loglibrary.md)。
303
304| 错误码ID | 错误信息 |
305| ------- | ----------------------------------------------------------------- |
306| 201 | Permission denied.  |
307| 202 | Permission denied, non-system app called system api. |
308| 401 | Invalid argument.|
309| 21300001 | Source file does not exists.  |
310
311**示例:**
312
313```ts
314import logLibrary from '@ohos.logLibrary';
315
316try {
317  logLibrary.remove('FAULTLOG', 'fault_log_test.zip');
318} catch (error) {
319  console.error(`error code: ${error?.code}, error msg: ${error?.message}`);
320}
321```