故障日志獲取
說(shuō)明: 本模塊首批接口從API version 8開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。 開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
導(dǎo)入模塊
import faultLogger from '@ohos.faultLogger'
FaultType
故障類(lèi)型枚舉。
系統(tǒng)能力: 以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.HiviewDFX.Hiview.FaultLogger。
名稱(chēng) | 默認(rèn)值 | 說(shuō)明 |
---|---|---|
NO_SPECIFIC | 0 | 不區(qū)分故障類(lèi)型 |
CPP_CRASH | 2 | C++程序故障類(lèi)型 |
JS_CRASH | 3 | JS程序故障類(lèi)型 |
APP_FREEZE | 4 | 應(yīng)用程序卡死故障類(lèi)型 |
FaultLogInfo
故障信息數(shù)據(jù)結(jié)構(gòu),獲取到的故障信息的數(shù)據(jù)結(jié)構(gòu)。
系統(tǒng)能力: 以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.HiviewDFX.Hiview.FaultLogger。
名稱(chēng) | 參數(shù)類(lèi)型 | 說(shuō)明 |
---|---|---|
pid | number | 故障進(jìn)程的進(jìn)程id |
uid | number | 故障進(jìn)程的用戶id |
type | [FaultType] | 故障類(lèi)型 |
timestamp | number | 日志生成時(shí)的秒級(jí)時(shí)間戳 |
reason | string | 發(fā)生故障的原因 |
module | string | 發(fā)生故障的模塊 |
summary | string | 故障的概要 |
fullLog | string | 故障日志全文 |
faultLogger.querySelfFaultLog
querySelfFaultLog(faultType: FaultType, callback: AsyncCallback>) : void
獲取當(dāng)前進(jìn)程故障信息,該方法通過(guò)回調(diào)方式獲取故障信息數(shù)組,故障信息數(shù)組內(nèi)最多上報(bào)10份故障信息。
系統(tǒng)能力: SystemCapability.HiviewDFX.Hiview.FaultLogger
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
faultType | [FaultType] | 是 | 輸入要查詢(xún)的故障類(lèi)型。 |
callback | AsyncCallbackArray> | 是 | 回調(diào)函數(shù),在回調(diào)函數(shù)中獲取故障信息數(shù)組。 - value拿到故障信息數(shù)組;value為undefined表示獲取過(guò)程中出現(xiàn)異常,error返回錯(cuò)誤提示字符串 |
示例:
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
querySelfFaultLog(faultType: FaultType) : Promise>
獲取當(dāng)前進(jìn)程故障信息,該方法通過(guò)Promise方式返回故障信息數(shù)組,故障信息數(shù)組內(nèi)最多上報(bào)10份故障信息。
系統(tǒng)能力: SystemCapability.HiviewDFX.Hiview.FaultLogger
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
faultType | [FaultType] | 是 | 輸入要查詢(xún)的故障類(lèi)型。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise> | Promise實(shí)例,可以在其then()方法中獲取故障信息實(shí)例,也可以使用await。 - value拿到故障信息數(shù)組;value為undefined表示獲取過(guò)程中出現(xiàn)異常HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
示例:
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);
}
}
}
審核編輯 黃宇
-
開(kāi)發(fā)系統(tǒng)
+關(guān)注
關(guān)注
0文章
38瀏覽量
9682 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2352瀏覽量
42863
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論