@ohos.logLibrary (Log Library) (System API)

The logLibrary module provides APIs for obtaining various system maintenance and test logs.

NOTE

  • The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.
  • The APIs provided by this module are system APIs.

Modules to Import

import { logLibrary } from '@kit.PerformanceAnalysisKit';

LogEntry

Defines a LogEntry object.

System capability: SystemCapability.HiviewDFX.Hiview.LogLibrary

Name Type Read-Only Optional Description
name string No No Log file name.
mtime number No No Time of the last modification to the file. The value is the number of seconds elapsed since 00:00:00 on January 1, 1970.
size number No No File size, in bytes.

logLibrary.list

list(logType: string): LogEntry[]

Obtains the list of log files of the specified type in synchronous mode. This API accepts objects of the string type as input parameters and returns a list log files of the specified type.

Required permission: ohos.permission.READ_HIVIEW_SYSTEM

System capability: SystemCapability.HiviewDFX.Hiview.LogLibrary

Parameters

Name Type Mandatory Description
logType string Yes Log type, for example, HILOG, FAULTLOG, BETACLUB, or REMOTELOG.

Return value

Type Description
LogEntry[] Array of log file objects.

Error codes

For details about the error codes, see Log Library Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Invalid argument. Possible causes:
1. Mandatory parameters are left unspecified.
2. Incorrect parameter types.
3. Parameter verification failed.

Example

import { logLibrary } from '@kit.PerformanceAnalysisKit';

try {
    let logObj = logLibrary.list('HILOG');
    // do something here.
} catch (error) {
    console.error(`error code: ${error?.code}, error msg: ${error?.message}`);
}

logLibrary.copy

copy(logType: string, logName: string, dest: string): Promise<void>

Copies log files of the specified type to the target application directory. This API uses a promise to return the result.

Required permission: ohos.permission.READ_HIVIEW_SYSTEM

System capability: SystemCapability.HiviewDFX.Hiview.LogLibrary

Parameters

Name Type Mandatory Description
logType string Yes Log type, for example, HILOG, FAULTLOG, BETACLUB, or REMOTELOG.
logName string Yes Log file name.
dest string Yes Target directory. Enter the relative path of the directory. If this parameter is specified, log files will be saved to the hiview/dest folder in the application cache path, that is, ../cache/hiview/dest. You can enter a multi-level directory.
If you leave this parameter empty, log files will be saved to the root directory, that is, the hiview folder in the application cache path.

Return value

Type Description
Promise<void> Promise used to return the result. Depending on whether the operation is successful, you can use the then() or catch() method to process the callback.

Error codes

For details about the error codes, see Log Library Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Invalid argument. Possible causes:
1. Mandatory parameters are left unspecified.
2. Incorrect parameter types.
3. Parameter verification failed.
21300001 Source file does not exists.

Example

import { logLibrary } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';

try {
    logLibrary.copy('HILOG', 'hiapplogcat-1.zip', ''
    ).then(
        (val) => {
            // do something here.
        }
    ).catch(
        (err: BusinessError) => {
            // do something here.
        }
    )
} catch (error) {
    console.error(`error code: ${error?.code}, error msg: ${error?.message}`);
}

logLibrary.copy

copy(logType: string, logName: string, dest: string, callback: AsyncCallback<void>): void

Copies log files of the specified type to the target application directory. This API uses an asynchronous callback to return the result.

Required permission: ohos.permission.READ_HIVIEW_SYSTEM

System capability: SystemCapability.HiviewDFX.Hiview.LogLibrary

Parameters

Name Type Mandatory Description
logType string Yes Log type, for example, HILOG, FAULTLOG, BETACLUB, or REMOTELOG.
logName string Yes Log file name.
dest string Yes Target directory. Enter the relative path of the directory. If this parameter is specified, log files will be saved to the hiview/dest folder in the application cache path, that is, ../cache/hiview/dest. You can enter a multi-level directory.
If you leave this parameter empty, log files will be saved to the root directory, that is, the hiview folder in the application cache path.
callback AsyncCallback<void> Yes Callback used to process the received return value. The value 0 indicates that the operation is successful, and any other value indicates that the operation has failed.

Error codes

For details about the error codes, see Log Library Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Invalid argument. Possible causes:
1. Mandatory parameters are left unspecified.
2. Incorrect parameter types.
3. Parameter verification failed.
21300001 Source file does not exists.

Example

import { logLibrary } from '@kit.PerformanceAnalysisKit';

try {
    logLibrary.copy('HILOG', 'hiapplogcat-1.zip', 'dir1', (error, val) => {
        if (val === undefined) {
            // copy failed.
        } else {
            // copy success.
        }
    });
} catch (error) {
    console.error(`error code: ${error?.code}, error msg: ${error?.message}`);
}

logLibrary.move

move(logType: string, logName: string, dest: string): Promise<void>

Moves log files of the specified type to the target application directory. This API uses a promise to return the result.

Required permission: ohos.permission.WRITE_HIVIEW_SYSTEM

System capability: SystemCapability.HiviewDFX.Hiview.LogLibrary

Parameters

Name Type Mandatory Description
logType string Yes Log type, for example, FAULTLOG, BETACLUB, or REMOTELOG.
logName string Yes Log file name.
dest string Yes Target directory. Enter the relative path of the directory. If this parameter is specified, log files will be saved to the hiview/dest folder in the application cache path, that is, ../cache/hiview/dest. You can enter a multi-level directory.
If you leave this parameter empty, log files will be saved to the root directory, that is, the hiview folder in the application cache path.

Return value

Type Description
Promise<void> Promise used to return the result. Depending on whether the operation is successful, you can use the then() or catch() method to process the callback.

Error codes

For details about the error codes, see Log Library Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Invalid argument. Possible causes:
1. Mandatory parameters are left unspecified.
2. Incorrect parameter types.
3. Parameter verification failed.
21300001 Source file does not exists.

Example

import { logLibrary } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';

try {
    logLibrary.move('FAULTLOG', 'fault_log_test.zip', ''
    ).then(
        (val) => {
            // do something here.
        }
    ).catch(
        (err: BusinessError) => {
            // do something here.
        }
    )
} catch (error) {
    console.error(`error code: ${error?.code}, error msg: ${error?.message}`);
}

logLibrary.move

move(logType: string, logName: string, dest: string, callback: AsyncCallback<void>): void

Moves log files of the specified type to the target application directory. This API uses an asynchronous callback to return the result.

Required permission: ohos.permission.WRITE_HIVIEW_SYSTEM

System capability: SystemCapability.HiviewDFX.Hiview.LogLibrary

Parameters

Name Type Mandatory Description
logType string Yes Log type, for example, HILOG, FAULTLOG, BETACLUB, or REMOTELOG.
logName string Yes Log file name.
dest string Yes Target directory. Enter the relative path of the directory. If this parameter is specified, log files will be saved to the hiview/dest folder in the application cache path, that is, ../cache/hiview/dest. You can enter a multi-level directory.
If you leave this parameter empty, log files will be saved to the root directory, that is, the hiview folder in the application cache path.
callback AsyncCallback<void> Yes Callback used to process the received return value. The value 0 indicates that the operation is successful, and any other value indicates that the operation has failed.

Error codes

For details about the error codes, see Log Library Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Invalid argument. Possible causes:
1. Mandatory parameters are left unspecified.
2. Incorrect parameter types.
3. Parameter verification failed.
21300001 Source file does not exists.

Example

import { logLibrary } from '@kit.PerformanceAnalysisKit';

try {
    logLibrary.move('FAULTLOG', 'fault_log_test.zip', 'dir1/dir2', (error, val) => {
        if (val === undefined) {
            // move failed.
        } else {
            // move success.
        }
    });
} catch (error) {
    console.error(`error code: ${error?.code}, error msg: ${error?.message}`);
}

logLibrary.remove

remove(logType: string, logName: string): void

Deletes log files of the specified type in synchronous mode.

Required permission: ohos.permission.WRITE_HIVIEW_SYSTEM

System capability: SystemCapability.HiviewDFX.Hiview.LogLibrary

Parameters

Name Type Mandatory Description
logType string Yes Log type, for example, FAULTLOG, BETACLUB, or REMOTELOG.
logName string Yes Log file name.

Error codes

For details about the error codes, see Log Library Error Codes.

ID Error Message
201 Permission denied.
202 Permission denied, non-system app called system api.
401 Invalid argument. Possible causes:
1. Mandatory parameters are left unspecified.
2. Incorrect parameter types.
3. Parameter verification failed.
21300001 Source file does not exists.

Example

import { logLibrary } from '@kit.PerformanceAnalysisKit';

try {
  logLibrary.remove('FAULTLOG', 'fault_log_test.zip');
} catch (error) {
  console.error(`error code: ${error?.code}, error msg: ${error?.message}`);
}