@ohos.faultLogger (FaultLogger)
NOTE
The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.
Modules to Import
import faultLogger from '@ohos.faultLogger'
FaultType
Enumerates the fault types.
System capability: SystemCapability.HiviewDFX.Hiview.FaultLogger
Name | Value | Description |
---|---|---|
NO_SPECIFIC | 0 | No specific fault type. |
CPP_CRASH | 2 | C++ program crash. |
JS_CRASH | 3 | JS program crash. |
APP_FREEZE | 4 | Application freezing. |
FaultLogInfo
Defines the data structure of the fault log information.
System capability: SystemCapability.HiviewDFX.Hiview.FaultLogger
Name | Type | Mandatory | Description |
---|---|---|---|
pid | number | Yes | Process ID of the faulty process. |
uid | number | Yes | User ID of the faulty process. |
type | FaultType | Yes | Fault type. |
timestamp | number | Yes | Second-level timestamp when the log was generated. |
reason | string | Yes | Reason for the fault. |
module | string | Yes | Module on which the fault occurred. |
summary | string | Yes | Summary of the fault. |
fullLog | string | Yes | Full log text. |
faultLogger.query9+
query(faultType: FaultType, callback: AsyncCallback<Array<FaultLogInfo>>) : void
Obtains the fault information about the current process. This API uses an asynchronous callback to return the fault information array obtained, which contains a maximum of 10 pieces of fault information.
System capability: SystemCapability.HiviewDFX.Hiview.FaultLogger
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
faultType | FaultType | Yes | Fault type. |
callback | AsyncCallback<Array<FaultLogInfo>> | Yes | Callback used to return the fault information array. The value is the fault information array obtained. If the value is undefined, an exception occurs during the information retrieval. In this case, an error string will be returned. |
Error codes
For details about the error codes, see FaultLogger Error Codes.
ID | Error Message |
---|---|
10600001 | The service is not started or is faulty |
Example
function queryFaultLogCallback(error, value) {
if (error) {
console.info('error is ' + error);
} else {
console.info("value length is " + value.length);
let len = value.length;
for (let i = 0; i < len; i++) {
console.info("log: " + i);
console.info("Log pid: " + value[i].pid);
console.info("Log uid: " + value[i].uid);
console.info("Log type: " + value[i].type);
console.info("Log timestamp: " + value[i].timestamp);
console.info("Log reason: " + value[i].reason);
console.info("Log module: " + value[i].module);
console.info("Log summary: " + value[i].summary);
console.info("Log text: " + value[i].fullLog);
}
}
}
try {
faultLogger.query(faultLogger.FaultType.JS_CRASH, queryFaultLogCallback);
} catch (err) {
console.error(`code: ${err.code}, message: ${err.message}`);
}
faultLogger.query9+
query(faultType: FaultType) : Promise<Array<FaultLogInfo>>
Obtains the fault information about the current process. This API uses a promise to return the fault information array obtained, which contains a maximum of 10 pieces of fault information.
System capability: SystemCapability.HiviewDFX.Hiview.FaultLogger
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
faultType | FaultType | Yes | Fault type. |
Return value
Type | Description |
---|---|
Promise<Array<FaultLogInfo>> | Promise used to return the fault information array. You can obtain the fault information instance in its then() method or use await. The value is the fault information array obtained. If the value is undefined, an exception occurs during the information retrieval. |
Error codes
For details about the error codes, see FaultLogger Error Codes.
ID | Error Message |
---|---|
10600001 | The service is not started or is faulty |
Example
async function getLog() {
try {
let value = await faultLogger.query(faultLogger.FaultType.JS_CRASH);
if (value) {
console.info("value length is " + value.length);
let len = value.length;
for (let i = 0; i < len; i++) {
console.info("log: " + i);
console.info("Log pid: " + value[i].pid);
console.info("Log uid: " + value[i].uid);
console.info("Log type: " + value[i].type);
console.info("Log timestamp: " + value[i].timestamp);
console.info("Log reason: " + value[i].reason);
console.info("Log module: " + value[i].module);
console.info("Log summary: " + value[i].summary);
console.info("Log text: " + value[i].fullLog);
}
}
} catch (err) {
console.error(`code: ${err.code}, message: ${err.message}`);
}
}
faultLogger.querySelfFaultLog(deprecated)
querySelfFaultLog(faultType: FaultType, callback: AsyncCallback<Array<FaultLogInfo>>) : void
NOTE
This API is deprecated since API version 9. You are advised to use faultLogger.query instead.
Obtains the fault information about the current process. This API uses an asynchronous callback to return the fault information array obtained, which contains a maximum of 10 pieces of fault information.
System capability: SystemCapability.HiviewDFX.Hiview.FaultLogger
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
faultType | FaultType | Yes | Fault type. |
callback | AsyncCallback<Array<FaultLogInfo>> | Yes | Callback used to return the fault information array. The value is the fault information array obtained. If the value is undefined, an exception occurs during the information retrieval. In this case, an error string will be returned. |
Example
function queryFaultLogCallback(error, value) {
if (error) {
console.info('error is ' + error);
} else {
console.info("value length is " + value.length);
let len = value.length;
for (let i = 0; i < len; i++) {
console.info("log: " + i);
console.info("Log pid: " + value[i].pid);
console.info("Log uid: " + value[i].uid);
console.info("Log type: " + value[i].type);
console.info("Log timestamp: " + value[i].timestamp);
console.info("Log reason: " + value[i].reason);
console.info("Log module: " + value[i].module);
console.info("Log summary: " + value[i].summary);
console.info("Log text: " + value[i].fullLog);
}
}
}
faultLogger.querySelfFaultLog(faultLogger.FaultType.JS_CRASH, queryFaultLogCallback);
faultLogger.querySelfFaultLog(deprecated)
querySelfFaultLog(faultType: FaultType) : Promise<Array<FaultLogInfo>>
NOTE
This API is deprecated since API version 9. You are advised to use faultLogger.query instead.
Obtains the fault information about the current process. This API uses a promise to return the fault information array obtained, which contains a maximum of 10 pieces of fault information.
System capability: SystemCapability.HiviewDFX.Hiview.FaultLogger
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
faultType | FaultType | Yes | Fault type. |
Return value
Type | Description |
---|---|
Promise<Array<FaultLogInfo>> | Promise used to return the fault information array. You can obtain the fault information instance in its then() method or use await. The value is the fault information array obtained. If the value is undefined, an exception occurs during the information retrieval. |
Example
async function getLog() {
let value = await faultLogger.querySelfFaultLog(faultLogger.FaultType.JS_CRASH);
if (value) {
console.info("value length is " + value.length);
let len = value.length;
for (let i = 0; i < len; i++) {
console.info("log: " + i);
console.info("Log pid: " + value[i].pid);
console.info("Log uid: " + value[i].uid);
console.info("Log type: " + value[i].type);
console.info("Log timestamp: " + value[i].timestamp);
console.info("Log reason: " + value[i].reason);
console.info("Log module: " + value[i].module);
console.info("Log summary: " + value[i].summary);
console.info("Log text: " + value[i].fullLog);
}
}
}