1020a203aSopenharmony_ci/* 2020a203aSopenharmony_ci* Copyright (C) 2021-2022 Huawei Device Co., Ltd. 3020a203aSopenharmony_ci* Licensed under the Apache License, Version 2.0 (the "License"); 4020a203aSopenharmony_ci* you may not use this file except in compliance with the License. 5020a203aSopenharmony_ci* You may obtain a copy of the License at 6020a203aSopenharmony_ci* 7020a203aSopenharmony_ci* http://www.apache.org/licenses/LICENSE-2.0 8020a203aSopenharmony_ci* 9020a203aSopenharmony_ci* Unless required by applicable law or agreed to in writing, software 10020a203aSopenharmony_ci* distributed under the License is distributed on an "AS IS" BASIS, 11020a203aSopenharmony_ci* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12020a203aSopenharmony_ci* See the License for the specific language governing permissions and 13020a203aSopenharmony_ci* limitations under the License. 14020a203aSopenharmony_ci*/ 15020a203aSopenharmony_ci 16020a203aSopenharmony_ciimport type { AsyncCallback } from './@ohos.base'; 17020a203aSopenharmony_ci 18020a203aSopenharmony_ci 19020a203aSopenharmony_ci/** 20020a203aSopenharmony_ci * This module provides the capability to query faultlog data. 21020a203aSopenharmony_ci * 22020a203aSopenharmony_ci * @since 8 23020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 24020a203aSopenharmony_ci * @import import sensor from '@ohos.faultlogger' 25020a203aSopenharmony_ci */ 26020a203aSopenharmony_ci 27020a203aSopenharmony_cideclare namespace FaultLogger { 28020a203aSopenharmony_ci /** 29020a203aSopenharmony_ci * The type of fault type. 30020a203aSopenharmony_ci * @since 8 31020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 32020a203aSopenharmony_ci */ 33020a203aSopenharmony_ci enum FaultType { 34020a203aSopenharmony_ci /** 35020a203aSopenharmony_ci * NO_SPECIFIC log type not distinguished. 36020a203aSopenharmony_ci * @since 8 37020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 38020a203aSopenharmony_ci */ 39020a203aSopenharmony_ci NO_SPECIFIC = 0, 40020a203aSopenharmony_ci /** 41020a203aSopenharmony_ci * CPP_CRASH CPP crash log type 42020a203aSopenharmony_ci * @since 8 43020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 44020a203aSopenharmony_ci */ 45020a203aSopenharmony_ci CPP_CRASH = 2, 46020a203aSopenharmony_ci /** 47020a203aSopenharmony_ci * JS_CRASH JS crash log type 48020a203aSopenharmony_ci * @since 8 49020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 50020a203aSopenharmony_ci */ 51020a203aSopenharmony_ci JS_CRASH = 3, 52020a203aSopenharmony_ci /** 53020a203aSopenharmony_ci * APP_FREEZE app feeeze log type 54020a203aSopenharmony_ci * @since 8 55020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 56020a203aSopenharmony_ci */ 57020a203aSopenharmony_ci APP_FREEZE = 4, 58020a203aSopenharmony_ci } 59020a203aSopenharmony_ci 60020a203aSopenharmony_ci /** 61020a203aSopenharmony_ci * Query the result of the current application FaultLog in callback Mode 62020a203aSopenharmony_ci * @since 8 63020a203aSopenharmony_ci * @deprecated since 9 64020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 65020a203aSopenharmony_ci * @param faultType fault type to query 66020a203aSopenharmony_ci * @param callback faultlog information data callback function 67020a203aSopenharmony_ci */ 68020a203aSopenharmony_ci function querySelfFaultLog(faultType: FaultType, callback: AsyncCallback<Array<FaultLogInfo>>) : void; 69020a203aSopenharmony_ci 70020a203aSopenharmony_ci /** 71020a203aSopenharmony_ci * Query the result of the current application FaultLog in return promise mode. 72020a203aSopenharmony_ci * @since 8 73020a203aSopenharmony_ci * @deprecated since 9 74020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 75020a203aSopenharmony_ci * @param faultType fault type to query 76020a203aSopenharmony_ci * @return return faultlog information data by promise 77020a203aSopenharmony_ci */ 78020a203aSopenharmony_ci function querySelfFaultLog(faultType: FaultType) : Promise<Array<FaultLogInfo>>; 79020a203aSopenharmony_ci 80020a203aSopenharmony_ci /** 81020a203aSopenharmony_ci * Query the result of the current application FaultLog in callback Mode 82020a203aSopenharmony_ci * @since 9 83020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 84020a203aSopenharmony_ci * @param faultType fault type to query 85020a203aSopenharmony_ci * @param callback faultlog information data callback function 86020a203aSopenharmony_ci * @throws {error} if the param is invalid or service is broken 87020a203aSopenharmony_ci */ 88020a203aSopenharmony_ci function query(faultType: FaultType, callback: AsyncCallback<Array<FaultLogInfo>>) : void; 89020a203aSopenharmony_ci 90020a203aSopenharmony_ci /** 91020a203aSopenharmony_ci * Query the result of the current application FaultLog in return promise mode. 92020a203aSopenharmony_ci * @since 9 93020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 94020a203aSopenharmony_ci * @param faultType fault type to query 95020a203aSopenharmony_ci * @throws {error} if the param is invalid or service is broken 96020a203aSopenharmony_ci * @return return faultlog information data by promise 97020a203aSopenharmony_ci */ 98020a203aSopenharmony_ci function query(faultType: FaultType) : Promise<Array<FaultLogInfo>>; 99020a203aSopenharmony_ci 100020a203aSopenharmony_ci /** 101020a203aSopenharmony_ci * FaultLog information data structure 102020a203aSopenharmony_ci * @since 8 103020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 104020a203aSopenharmony_ci */ 105020a203aSopenharmony_ci interface FaultLogInfo { 106020a203aSopenharmony_ci /** 107020a203aSopenharmony_ci * pid Process id 108020a203aSopenharmony_ci * @since 8 109020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 110020a203aSopenharmony_ci */ 111020a203aSopenharmony_ci pid: number; 112020a203aSopenharmony_ci 113020a203aSopenharmony_ci /** 114020a203aSopenharmony_ci * uid user id 115020a203aSopenharmony_ci * @since 8 116020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 117020a203aSopenharmony_ci */ 118020a203aSopenharmony_ci uid: number; 119020a203aSopenharmony_ci 120020a203aSopenharmony_ci /** 121020a203aSopenharmony_ci * type fault type 122020a203aSopenharmony_ci * @since 8 123020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 124020a203aSopenharmony_ci */ 125020a203aSopenharmony_ci type: FaultType; 126020a203aSopenharmony_ci 127020a203aSopenharmony_ci /** 128020a203aSopenharmony_ci * second level timestamp 129020a203aSopenharmony_ci * @since 8 130020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 131020a203aSopenharmony_ci */ 132020a203aSopenharmony_ci timestamp: number; 133020a203aSopenharmony_ci 134020a203aSopenharmony_ci /** 135020a203aSopenharmony_ci * reason fault reason 136020a203aSopenharmony_ci * @since 8 137020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 138020a203aSopenharmony_ci */ 139020a203aSopenharmony_ci reason: string; 140020a203aSopenharmony_ci 141020a203aSopenharmony_ci /** 142020a203aSopenharmony_ci * module fault module 143020a203aSopenharmony_ci * @since 8 144020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 145020a203aSopenharmony_ci */ 146020a203aSopenharmony_ci module: string; 147020a203aSopenharmony_ci 148020a203aSopenharmony_ci /** 149020a203aSopenharmony_ci * summary fault summary 150020a203aSopenharmony_ci * @since 8 151020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 152020a203aSopenharmony_ci */ 153020a203aSopenharmony_ci summary: string; 154020a203aSopenharmony_ci 155020a203aSopenharmony_ci /** 156020a203aSopenharmony_ci * fullLog fault log 157020a203aSopenharmony_ci * @since 8 158020a203aSopenharmony_ci * @syscap SystemCapability.HiviewDFX.Hiview.FaultLogger 159020a203aSopenharmony_ci */ 160020a203aSopenharmony_ci fullLog: string; 161020a203aSopenharmony_ci } 162020a203aSopenharmony_ci} 163020a203aSopenharmony_ci 164020a203aSopenharmony_ciexport default FaultLogger; 165