HiLog日志打印

2024-01-23 17:18 更新

hilog日志系統(tǒng),使應(yīng)用/服務(wù)可以按照指定級別、標(biāo)識和格式字符串輸出日志內(nèi)容,幫助開發(fā)者了解應(yīng)用/服務(wù)的運行狀態(tài),更好地調(diào)試程序。

說明

本模塊首批接口從API version 7開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨標(biāo)記接口的起始版本。

導(dǎo)入模塊

  1. import hilog from '@ohos.hilog';

hilog.isLoggable

isLoggable(domain: number, tag: string, level: LogLevel) : boolean

在打印日志前調(diào)用該接口,用于檢查指定領(lǐng)域標(biāo)識、日志標(biāo)識和級別的日志是否可以打印。

系統(tǒng)能力: SystemCapability.HiviewDFX.HiLog

參數(shù):

參數(shù)名類型必填說明
domainnumber

日志對應(yīng)的領(lǐng)域標(biāo)識,范圍是0x0~0xFFFF。

建議開發(fā)者在應(yīng)用內(nèi)根據(jù)需要自定義劃分。

tagstring指定日志標(biāo)識,可以為任意字符串,建議用于標(biāo)識調(diào)用所在的類或者業(yè)務(wù)行為。
levelLogLevel日志級別。

返回值:

類型說明
boolean如果返回true,則該領(lǐng)域標(biāo)識、日志標(biāo)識和級別的日志可以打印,否則不能打印。

示例:

  1. hilog.isLoggable(0x0001, "testTag", hilog.LogLevel.INFO);

LogLevel

日志級別。

系統(tǒng)能力: SystemCapability.HiviewDFX.HiLog

名稱說明
DEBUG3詳細(xì)的流程記錄,通過該級別的日志可以更詳細(xì)地分析業(yè)務(wù)流程和定位分析問題。
INFO4

用于記錄業(yè)務(wù)關(guān)鍵流程節(jié)點,可以還原業(yè)務(wù)的主要運行過程;

用于記錄可預(yù)料的非正常情況信息,如無網(wǎng)絡(luò)信號、登錄失敗等。

這些日志都應(yīng)該由該業(yè)務(wù)內(nèi)處于支配地位的模塊來記錄,避免在多個被調(diào)用的模塊或低級函數(shù)中重復(fù)記錄。

WARN5用于記錄較為嚴(yán)重的非預(yù)期情況,但是對用戶影響不大,應(yīng)用可以自動恢復(fù)或通過簡單的操作就可以恢復(fù)的問題。
ERROR6應(yīng)用發(fā)生了錯誤,該錯誤會影響功能的正常運行或用戶的正常使用,可以恢復(fù)但恢復(fù)代價較高,如重置數(shù)據(jù)等。
FATAL7重大致命異常,表明應(yīng)用即將崩潰,故障無法恢復(fù)。

hilog.debug

debug(domain: number, tag: string, format: string, ...args: any[]) : void

打印DEBUG級別的日志。

DEBUG級別的日志在正式發(fā)布版本中默認(rèn)不被打印,只有在調(diào)試版本或打開調(diào)試開關(guān)的情況下才會打印。

系統(tǒng)能力: SystemCapability.HiviewDFX.HiLog

參數(shù):

參數(shù)名類型必填說明
domainnumber

日志對應(yīng)的領(lǐng)域標(biāo)識,范圍是0x0~0xFFFF。

建議開發(fā)者在應(yīng)用內(nèi)根據(jù)需要自定義劃分。

tagstring指定日志標(biāo)識,可以為任意字符串,建議用于標(biāo)識調(diào)用所在的類或者業(yè)務(wù)行為。
formatstring

格式字符串,用于日志的格式化輸出。格式字符串中可以設(shè)置多個參數(shù),參數(shù)需要包含參數(shù)類型、隱私標(biāo)識。

隱私標(biāo)識分為{public}和{private},缺省為{private}。標(biāo)識{public}的內(nèi)容明文輸出,標(biāo)識{private}的內(nèi)容以<private>過濾回顯。

argsany[]與格式字符串format對應(yīng)的可變長度參數(shù)列表。參數(shù)數(shù)目、參數(shù)類型必須與格式字符串中的標(biāo)識一一對應(yīng)。

示例:

輸出一條DEBUG信息,格式字符串為"%{public}s World %{private}d"。其中變參%{public}s為明文顯示的字符串;%{private}d為隱私的整型數(shù)。

  1. hilog.debug(0x0001, "testTag", "%{public}s World %{private}d", "hello", 3);

字符串"hello"填入%{public}s,整型數(shù)3填入%{private}d,輸出日志:

  1. 08-05 12:21:47.579 2695-2703/com.example.myapplication D 00001/testTag: hello World <private>

hilog.info

info(domain: number, tag: string, format: string, ...args: any[]) : void

打印INFO級別的日志。

系統(tǒng)能力: SystemCapability.HiviewDFX.HiLog

參數(shù):

參數(shù)名類型必填說明
domainnumber

日志對應(yīng)的領(lǐng)域標(biāo)識,范圍是0x0~0xFFFF。

建議開發(fā)者在應(yīng)用內(nèi)根據(jù)需要自定義劃分。

tagstring指定日志標(biāo)識,可以為任意字符串,建議用于標(biāo)識調(diào)用所在的類或者業(yè)務(wù)行為。
formatstring

格式字符串,用于日志的格式化輸出。格式字符串中可以設(shè)置多個參數(shù),參數(shù)需要包含參數(shù)類型、隱私標(biāo)識。

隱私標(biāo)識分為{public}和{private},缺省為{private}。標(biāo)識{public}的內(nèi)容明文輸出,標(biāo)識{private}的內(nèi)容以<private>過濾回顯。

argsany[]與格式字符串format對應(yīng)的可變長度參數(shù)列表。參數(shù)數(shù)目、參數(shù)類型必須與格式字符串中的標(biāo)識一一對應(yīng)。

示例:

輸出一條INFO信息,格式字符串為"%{public}s World %{private}d"。其中變參%{public}s為明文顯示的字符串;%{private}d為隱私的整型數(shù)。

  1. hilog.info(0x0001, "testTag", "%{public}s World %{private}d", "hello", 3);

字符串"hello"填入%{public}s,整型數(shù)3填入%{private}d,輸出日志:

  1. 08-05 12:21:47.579 2695-2703/com.example.myapplication I 00001/testTag: hello World <private>

hilog.warn

warn(domain: number, tag: string, format: string, ...args: any[]) : void

打印WARN級別的日志。

系統(tǒng)能力: SystemCapability.HiviewDFX.HiLog

參數(shù):

參數(shù)名類型必填說明
domainnumber

日志對應(yīng)的領(lǐng)域標(biāo)識,范圍是0x0~0xFFFF。

建議開發(fā)者在應(yīng)用內(nèi)根據(jù)需要自定義劃分。

tagstring指定日志標(biāo)識,可以為任意字符串,建議用于標(biāo)識調(diào)用所在的類或者業(yè)務(wù)行為。
formatstring

格式字符串,用于日志的格式化輸出。格式字符串中可以設(shè)置多個參數(shù),參數(shù)需要包含參數(shù)類型、隱私標(biāo)識。

隱私標(biāo)識分為{public}和{private},缺省為{private}。標(biāo)識{public}的內(nèi)容明文輸出,標(biāo)識{private}的內(nèi)容以<private>過濾回顯。

argsany[]與格式字符串format對應(yīng)的可變長度參數(shù)列表。參數(shù)數(shù)目、參數(shù)類型必須與格式字符串中的標(biāo)識一一對應(yīng)。

示例:

輸出一條WARN信息,格式字符串為"%{public}s World %{private}d"。其中變參%{public}s為明文顯示的字符串;%{private}d為隱私的整型數(shù)。

  1. hilog.warn(0x0001, "testTag", "%{public}s World %{private}d", "hello", 3);

字符串"hello"填入%{public}s,整型數(shù)3填入%{private}d,輸出日志:

  1. 08-05 12:21:47.579 2695-2703/com.example.myapplication W 00001/testTag: hello World <private>

hilog.error

error(domain: number, tag: string, format: string, ...args: any[]) : void

打印ERROR級別的日志。

系統(tǒng)能力: SystemCapability.HiviewDFX.HiLog

參數(shù):

參數(shù)名類型必填說明
domainnumber

日志對應(yīng)的領(lǐng)域標(biāo)識,范圍是0x0~0xFFFF。

建議開發(fā)者在應(yīng)用內(nèi)根據(jù)需要自定義劃分。

tagstring指定日志標(biāo)識,可以為任意字符串,建議用于標(biāo)識調(diào)用所在的類或者業(yè)務(wù)行為。
formatstring

格式字符串,用于日志的格式化輸出。格式字符串中可以設(shè)置多個參數(shù),參數(shù)需要包含參數(shù)類型、隱私標(biāo)識。

隱私標(biāo)識分為{public}和{private},缺省為{private}。標(biāo)識{public}的內(nèi)容明文輸出,標(biāo)識{private}的內(nèi)容以<private>過濾回顯。

argsany[]與格式字符串format對應(yīng)的可變長度參數(shù)列表。參數(shù)數(shù)目、參數(shù)類型必須與格式字符串中的標(biāo)識一一對應(yīng)。

示例:

輸出一條ERROR信息,格式字符串為"%{public}s World %{private}d"。其中變參%{public}s為明文顯示的字符串;%{private}d為隱私的整型數(shù)。

  1. hilog.error(0x0001, "testTag", "%{public}s World %{private}d", "hello", 3);

字符串"hello"填入%{public}s,整型數(shù)3填入%{private}d,輸出日志:

  1. 08-05 12:21:47.579 2695-2703/com.example.myapplication E 00001/testTag: hello World <private>

hilog.fatal

fatal(domain: number, tag: string, format: string, ...args: any[]) : void

打印FATAL級別的日志。

系統(tǒng)能力: SystemCapability.HiviewDFX.HiLog

參數(shù):

參數(shù)名類型必填說明
domainnumber

日志對應(yīng)的領(lǐng)域標(biāo)識,范圍是0x0~0xFFFF。

建議開發(fā)者在應(yīng)用內(nèi)根據(jù)需要自定義劃分。

tagstring指定日志標(biāo)識,可以為任意字符串,建議用于標(biāo)識調(diào)用所在的類或者業(yè)務(wù)行為。
formatstring

格式字符串,用于日志的格式化輸出。格式字符串中可以設(shè)置多個參數(shù),參數(shù)需要包含參數(shù)類型、隱私標(biāo)識。

隱私標(biāo)識分為{public}和{private},缺省為{private}。標(biāo)識{public}的內(nèi)容明文輸出,標(biāo)識{private}的內(nèi)容以<private>過濾回顯。

argsany[]與格式字符串format對應(yīng)的可變長度參數(shù)列表。參數(shù)數(shù)目、參數(shù)類型必須與格式字符串中的標(biāo)識一一對應(yīng)。

示例:

輸出一條FATAL信息,格式字符串為"%{public}s World %{private}d"。其中變參%{public}s為明文顯示的字符串;%{private}d為隱私的整型數(shù)。

  1. hilog.fatal(0x0001, "testTag", "%{public}s World %{private}d", "hello", 3);

字符串"hello"填入%{public}s,整型數(shù)3填入%{private}d,輸出日志:

  1. 08-05 12:21:47.579 2695-2703/com.example.myapplication F 00001/testTag: hello World <private>
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號