鸿蒙开发系统基础能力:ohos.faultLogger 故障日志获取

电子说

1.3w人已加入

描述

故障日志获取

鸿蒙说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

导入模块

import faultLogger from '@ohos.faultLogger'

FaultType

故障类型枚举。

系统能力: 以下各项对应的系统能力均为SystemCapability.HiviewDFX.Hiview.FaultLogger。

名称默认值说明
NO_SPECIFIC0不区分故障类型
CPP_CRASH2C++程序故障类型
JS_CRASH3JS程序故障类型
APP_FREEZE4应用程序卡死故障类型

FaultLogInfo

故障信息数据结构,获取到的故障信息的数据结构。

系统能力: 以下各项对应的系统能力均为SystemCapability.HiviewDFX.Hiview.FaultLogger。

名称参数类型说明
pidnumber故障进程的进程id
uidnumber故障进程的用户id
type[FaultType]故障类型
timestampnumber日志生成时的秒级时间戳
reasonstring发生故障的原因
modulestring发生故障的模块
summarystring故障的概要
fullLogstring故障日志全文

faultLogger.querySelfFaultLog

querySelfFaultLog(faultType: FaultType, callback: AsyncCallback>) : void

获取当前进程故障信息,该方法通过回调方式获取故障信息数组,故障信息数组内最多上报10份故障信息。

系统能力: SystemCapability.HiviewDFX.Hiview.FaultLogger

参数:

参数名类型必填说明
faultType[FaultType]输入要查询的故障类型。
callbackAsyncCallbackArray>回调函数,在回调函数中获取故障信息数组。 - value拿到故障信息数组;value为undefined表示获取过程中出现异常,error返回错误提示字符串

示例:

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>

获取当前进程故障信息,该方法通过Promise方式返回故障信息数组,故障信息数组内最多上报10份故障信息。

系统能力: SystemCapability.HiviewDFX.Hiview.FaultLogger

参数:

参数名类型必填说明
faultType[FaultType]输入要查询的故障类型。

返回值:

类型说明
Promise>Promise实例,可以在其then()方法中获取故障信息实例,也可以使用await。 - value拿到故障信息数组;value为undefined表示获取过程中出现异常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);
	}
    }
}

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分