HarmonyOS之调试分析打印HiLog日志
生活随笔
收集整理的這篇文章主要介紹了
HarmonyOS之调试分析打印HiLog日志
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、HiLog 日志
- HarmonyOS 提供了 HiLog 日志系統,讓應用可以按照指定類型、指定級別、指定格式字符串輸出日志內容,幫助開發者了解應用的運行狀態,更好地調試程序。
- 輸出日志的接口由 HiLog 類提供,在輸出日志前,需要先調用 HiLog 的輔助類 HiLogLabel 定義日志標簽。
二、定義日志標簽
- 使用 HiLogLabel(int type, int domain, String tag)定義日志標簽,其中包括了日志類型、業務領域和 TAG。使用示例:
- 參數說明:
-
- 參數 type:用于指定輸出日志的類型。HiLog 中當前只提供了一種日志類型,即應用日志類型 LOG_APP。
-
- 參數 domain:用于指定輸出日志所對應的業務領域,取值范圍為0x0~0xFFFFF,開發者可以根據需要進行自定義。
-
- 參數 tag:用于指定日志標識,可以為任意字符串,建議標識調用所在的類或者業務行為。
- 開發者可以根據自定義參數 domain 和 tag 來進行日志的篩選和查找。
三、輸出日志
- HiLog 中定義了 DEBUG、INFO、WARN、ERROR、FATAL 五種日志級別,并提供了對應的方法用于輸出不同級別的日志。
- HiLog 提供的主要接口:
| debug?(HiLogLabel label, String format, Object… args) | 輸出DEBUG級別的日志。DEBUG級別日志表示僅用于應用調試,默認不輸出,輸出前需要在設備的“開發人員選項”中打開“USB調試”開關 |
| info?(HiLogLabel label, String format, Object… args) | 輸出INFO級別的日志。INFO級別日志表示普通的信息 |
| warn?(HiLogLabel label, String format, Object… args) | 輸出WARN級別的日志。WARN級別日志表示存在警告 |
| error?(HiLogLabel label, String format, Object… args) | 輸出ERROR級別的日志。ERROR級別日志表示存在錯誤 |
| fatal?(HiLogLabel label, String format, Object… args) | 輸出FATAL級別的日志。FATAL級別日志表示出現致命錯誤、不可恢復錯誤 |
- 參數說明:
-
- 參數 label:定義好的 HiLogLabel 標簽。
-
- 參數 format:格式字符串,用于日志的格式化輸出。格式字符串中可以設置多個參數,例如格式字符串為“Failed to visit %s.”,“%s”為參數類型為 string 的變參標識,具體取值在 args 中定義。每個參數需添加隱私標識,分為{public}或{private},默認為{private}。{public}表示日志打印結果可見;{private}表示日志打印結果不可見,輸出結果為 < private >。
-
- 參數 args:可以為0個或多個參數,是格式字符串中參數類型對應的參數列表。參數的數量、類型必須與格式字符串中的標識一一對應。
- 以輸出一條 WARN 級別的信息為例,示例代碼:
- 該行代碼表示輸出一個日志標簽為 label 的警告信息,格式字符串為:“Failed to visit %{private}s, reason:%{public}d.”。其中變參 url 的格式為私有的字符串,errno 為公共的整型數。
四、查看日志信息
- DevEco Studio 提供了 HiLog 窗口查看日志信息,開發者可通過設置設備、進程、日志級別和搜索關鍵詞來篩選日志信息。搜索功能支持使用正則表達式,開發者可通過搜索自定義的業務領域值和 TAG 來篩選日志信息。
- 如示例所示,根據實際情況選擇了設備和進程后,搜索業務領域值“00201”進行篩選,得到對應的日志信息。
- 結果輸出:
- 結果分析:
- W 表示日志級別為 WARN。
- 00201/MY_TAG 為開發者在 HiLogLabel 中定義的內容。
- 日志內容中的 url 為私有參數不顯示具體內容,僅顯示 < private >。errno 為公有參數,顯示實際取值 503。
五、日志打印實例
- 在按鈕中增加一個點擊事件,點擊按鈕時打印一條日志。
- 新建一個工程,選擇 Java 的空白模板。
- 新建一個工程,在“Project”窗口點擊“entry > src > main > java > 應用包名 > slice”,打開工程中的“MainAbilitySlice.java”文件,添加一個按鈕,實現點擊按鈕打印一條日志,示例代碼如下:
- 在模擬器或者真機上運行項目,點擊應用界面上的按鈕。
- 在 DevEco Studio 的底部,切換到“HiLog”窗口,設置日志的過濾條件。
選擇當前的設備及進程,日志級別選擇 Info,搜索內容設置為“00201”。此時窗口僅顯示符合條件的日志,效果如圖所示:
總結
以上是生活随笔為你收集整理的HarmonyOS之调试分析打印HiLog日志的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HarmonyOS之常用组件TextFi
- 下一篇: HarmonyOS之组件布局的创建和使用