HiLog日志打印

2024-01-23 17:18 更新

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

說(shuō)明

本模塊首批接口從API version 7開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(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)識(shí)、日志標(biāo)識(shí)和級(jí)別的日志是否可以打印。

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

參數(shù):

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

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

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

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

返回值:

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

示例:

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

LogLevel

日志級(jí)別。

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

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

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

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

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

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

hilog.debug

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

打印DEBUG級(jí)別的日志。

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

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

參數(shù):

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

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

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

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

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

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

argsany[]與格式字符串format對(duì)應(yīng)的可變長(zhǎng)度參數(shù)列表。參數(shù)數(shù)目、參數(shù)類型必須與格式字符串中的標(biāo)識(shí)一一對(duì)應(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級(jí)別的日志。

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

參數(shù):

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

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

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

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

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

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

argsany[]與格式字符串format對(duì)應(yīng)的可變長(zhǎng)度參數(shù)列表。參數(shù)數(shù)目、參數(shù)類型必須與格式字符串中的標(biāo)識(shí)一一對(duì)應(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級(jí)別的日志。

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

參數(shù):

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

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

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

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

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

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

argsany[]與格式字符串format對(duì)應(yīng)的可變長(zhǎng)度參數(shù)列表。參數(shù)數(shù)目、參數(shù)類型必須與格式字符串中的標(biāo)識(shí)一一對(duì)應(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級(jí)別的日志。

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

參數(shù):

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

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

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

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

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

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

argsany[]與格式字符串format對(duì)應(yīng)的可變長(zhǎng)度參數(shù)列表。參數(shù)數(shù)目、參數(shù)類型必須與格式字符串中的標(biāo)識(shí)一一對(duì)應(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級(jí)別的日志。

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

參數(shù):

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

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

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

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

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

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

argsany[]與格式字符串format對(duì)應(yīng)的可變長(zhǎng)度參數(shù)列表。參數(shù)數(shù)目、參數(shù)類型必須與格式字符串中的標(biāo)識(shí)一一對(duì)應(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)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)