鴻蒙系統日誌工具HiLog的使用方法!

2022-01-30 51CTO技術棧

做為一個 Java 攻城師, 我們除了關心系統的架構這種 high level 的問題,還需要了解一些語言的陷阱,異常的處理,以及日誌的輸出,這些"雞毛蒜皮"的細節。

我們需要通過列印一條條日誌來掌握程序運行的狀態,下面我們就來講解鴻蒙系統中的 HiLog 日誌工具的具體使用方法。

使用 HiLog 前必須在 HiLog 的一個輔助類 HiLogLabel 中定義日誌類型、服務域和標記。

static final HiLogLabel label = new HiLogLabel(HiLog.LOG_APP, 0x00201, "MY_TAG");

上面有三個參數:

日誌類型,我們的應用一般取一個常量值:HiLog.LOG_APP,表示是第三方應用。

服務域,16 進位整數形式,取值範圍是 0x0 ~ 0xFFFFF。一般情況下,我們建議把這 5 個 16 進位數分成兩組,前面三個數表示應用中的模塊編號,後面兩個表示模塊中的類的編號。

一個字符串常量,它標識方法調用的類或服務行為。一般情況下就寫類的名字,一般我可用這個標記對日誌進行過濾。

日誌的級別,和其他日誌一樣,HiLog 也分成了幾個日誌級別。

由上到下信息越嚴重:

debug:調試信息

info:普通信息

warn:警告信息

error:錯誤信息

fatal:致命錯誤信息

String url = "www.baidu.com";
int errno = 0;
HiLog.warn(label, "Failed to visit %{private}s, reason:%{public}d.", url, errno);

按照上述格式就可用在控制臺中輸入日誌信息了,裡邊還有點東西,需要進一步解釋一下。

%{private}s 和 %{public}d 這兩個符號我們可用理解為佔位符,真正列印到控制臺上的值是後面的變量:


public class MainAbility extends Ability {
    static final HiLogLabel HI_LOG_LABEL = new HiLogLabel(HiLog.LOG_APP,0x00101,"MainAbility");
    @Override
    public void onStart(Intent intent) {
        HiLog.info(HI_LOG_LABEL,"======MainAbility onStart is running....");
        String ss = "tesst string";
        int ii  = 11111;
        HiLog.info(HI_LOG_LABEL,"======字符串信息加上變量信息,格式化列印字符串%{public}s,整數%{private}d",ss,ii);
        super.onStart(intent);
        super.setMainRoute(MainAbilitySlice.class.getName());
    }
}

文章內容已錄製成視頻課程《鴻蒙手機應用開發入門》:

https://edu.51cto.com/course/26133.html

專注開源技術,共建鴻蒙生態

相關焦點

  • Windows日誌分析工具
    作者因為平時需要遠程許多用戶,看很多日誌, 所以寫了一個簡單的日誌分析工具,希望能幫到一些不怎麼懂如何看日誌的人。(這個主要想寫個不懂技術的人看的,所以寫的特別的詳細。不要噴,只是為了我自己以後方便。不用每次都給別人講解很多次,真的太繁瑣,不僅浪費時間,用戶也很惱火,所以每個步驟都非常詳細,覺得不夠詳細的地方可以留言,後面我再補充。懂技術的可以直接跳著看重點。)
  • 用鴻蒙開發AI應用(七)觸控螢幕控制LED
    背景知識用戶程序框架子系統包含兩個大的模塊:Ability子系統和包管理子系統。1. Ability子系統1.1 AbilityAbility是系統調度應用的最小單元,是能夠完成一個獨立功能的組件,一個應用可以包含一個或多個Ability。
  • 鴻蒙生態圈究竟利好了誰 | 衣公子
    當然,除了用規模綁定開發者,鴻蒙生態到底行不行,有沒有前途,還有一個標準要牢牢抓住:有沒有讓消費者用起來很便利很爽的新花樣。 02什麼是「新花樣」?我的定義是,上一代作業系統生態中沒有的東西。互聯+AI,會帶來什麼? HDC上王成錄博士的一個展示,給我很深的印象。 每個熱愛運動的人都想擁有一個私人健身教練——根據我的身體條件,定製最適合的鍛鍊方案,全程陪著我看著我:這個環節核心要收緊,那個動作手臂發力要充分一點,這個動作不標準會傷膝蓋必須立刻糾正。最後,結合我剛才運動量和練到的肌肉,帶我做一套放鬆動作。
  • windows 伺服器系統日誌分析及安全
    並將其輸入到資料庫中,這樣即使一個攻擊者使用動態的IP只要他不換系統,即使刪除了IIS日誌,你也可以把他找出來。如果你你啟用了登陸事件、策略更改、帳戶登陸、系統事件的成功失敗的審核,那麼任何成功的入侵都將在安全日誌中留下痕跡1、建議每天最少檢查一次安全日誌。推薦重點檢查的ID事件 529:登錄失敗,試圖使用未知用戶名或帶有錯誤密碼的已知用戶名進行登錄。528:用戶成功登錄到計算機上。
  • 面試官:SpringBoot中關於日誌工具的使用,我想問你幾個常見問題
    面試官:Spring Boot中日誌輸出有關注過嗎?小小白:有研究過。面試官:使用Starters方式快速構建項目,那麼默認使用的日誌工具是什麼?小小白:如果項目使用Starters,則默認使用Logback作為日誌記錄工具,並且默認配置下日誌只會在控制臺輸出。面試官:默認情況下,日誌輸出哪些級別的日誌信息?
  • 使用onekey ghost工具為win7重裝系統的方法
    有不少系統之家的用戶,都喜歡使用win7旗艦版,下面系統哥小編帶來使用onekey ghost工具重裝win7旗艦版的安裝方法,具體的解決方法下面一起來看看吧
  • 懸劍武器庫之4種工具使用方法
    /target/release/unimap構建好的代碼將存儲在「./target/release/unimap」路徑下使用AUR軟體包。(Arch Linux)unimap可以使用AUR幫助程序從可用的AUR軟體包中安裝。例如,如果願意,可以克隆AUR軟體包,然後使用makepkg對其進行編譯。
  • 華為Mate50Pro曝光:驍龍895+鴻蒙系統,邊框都是屏幕
    華為近期發布了旗艦機P50系列,雖然全系都是4G手機,但是仍然非常火爆,到目前也是一機難求,售價並不便宜,卻有價無市,這可能就是品牌的力量了,除了華為之外,無論小米、三星,還是OPPO、vivo,現在發布4G高端機,是不會有什麼銷量的,華為P50即便搭載驍龍888,但是也是基於鴻蒙系統
  • 鴻蒙蝴蝶雲APP功能講解
    6月23日長徵三號乙火箭北鬥三號全球衛星導航系統最後一顆組網衛星發射成功北鬥衛星全球衛星導航系統星座部署全面完成  北鬥衛星導航系統和鴻蒙雲系統構建星雲一體•中國方案本期特別推出北鬥特輯!北鬥定位建群       北鬥系統提供多個頻點的導航信號,能夠通過多頻信號組合使用等方式提高服務精度。北鬥系統創新融合了導航與通信能力,具有實時導航、快速定位、精確授時、位置報告和短報文通信服務五大功能。
  • 適用於Linux的高級實時系統監控工具
    為了實現這種方法,我們引入了一個功能強大的名為Glances的系統監控程序,該程序自動高亮顯示正在利用最高系統資源並提供有關Linux/Unix伺服器的最大信息的程序。Glances是使用Python語言編寫的基於跨平臺命令行curses的系統監視工具,該工具使用psutil庫從系統中獲取信息。使用Glance,我們可以監視CPU,平均負載,內存,網絡接口,磁碟I/O,進程和文件系統空間利用率。
  • 製冷維保工具使用方法(壓力表、萬用表、管路工具...)
    製冷設備檢修中,常常要對製冷系統管路進行改裝、調整、切割、焊接、連接。維修製冷設備應當使用專業工具,才能保證有良好的效果。壓力表、割管刀、擴管器等這些製冷工具大家都會操作嗎?今天就來詳細了解一下這些常用的工具的操作方法!
  • 新春巨獻: 80 多個 Linux 系統管理員必備的監控工具
    在本文中,我們主要包括以下方面:命令行工具網絡相關內容系統相關的監控工具日誌監控工具基礎設施監控工具監控和調試性能問題是一個艱巨的任務,但用對了正確的工具有時也是很容易的。下面是一些你可能聽說過的工具,也有可能沒有聽說過——何不趕快開始試試?八大系統監控工具1. top
  • ios crash的原因與抓取crash日誌的方法
    我們使用Xcode 5和iOS 7的設備模擬一次低內存閃退,然後通過Organizer查看產生的crash日誌,可以發現Process和Type都為Unknown:再來談談獲取iOS設備上崩潰日誌(Crash Log)的方法第一個方法:XCode  的菜單Window->Organizer   選擇Devices  ->  選中的手機 -> 點擊手機名稱左邊的箭頭 會等到如下圖
  • 工具的使用 | Metasploit Framework(MSF)的使用
    Metasploit中的 Payload 模塊主要有以下三種類型:Single是一種完全獨立的Payload,而且使用起來就像運行 calc.exe 一樣簡單,例如添加一個系統用戶或刪除一份文件。由於Single Payload是完全獨立的,因此它們有可能會被類似 netcat 這樣的非metasploit處理工具所捕捉到。
  • 極客學院 | 如何為Windows 10啟用引導日誌
    ,當你遇到系統啟動問題需要解決時,系統的引導日誌對你也許有幫助。引導日誌的記錄默認是關閉的,啟用引導日誌後,日誌將被存儲在C:\Windows\ntbtlog中,你可以使用記事本或者Notepad++等文本編輯器打開它。
  • Android逆向之旅---Hook神器家族的Frida工具使用詳解
    而對於SubstrateCydia工具可以Hook Native層的,本文會介紹一下如何使用。那麼有了這兩個神器為啥還要介紹Frida工具呢?所以這裡就把hook方法獲取參數的案例都介紹完了,總結一下很簡單,構造方法使用固定寫法$init,其他方法全部用方法名即可。如果方法有重載形式需要用overload形式操作參數用逗號分隔。獲取參數可以自定義參數名或者用系統隱含的arguments變量獲取。當然在這之前都需要用Java.use通過類名獲取類型。
  • 常用劃線工具種類及使用方法
    一、劃線工具按用途分類 1.基準工具,包括劃線平板、方箱、V形鐵、三角鐵、彎板(直角板)以及各種分度頭等。 3.繪劃工具,包括劃針、劃線盤、高度遊標尺、劃規、劃卡、平尺、曲線板以及手錘、樣衝等。 4.輔助工具,包括墊鐵、千斤頂、C形夾頭和夾鉗以及找中心劃圓時打入工件孔中的木 條、鉛條等。二、劃線工具使用方法 1.平臺。一般由鑄鐵製成。工作表面經過精刨或刮削,也可採用精磨加工而成。
  • 華為作業系統或將國內命名「鴻蒙OS」海外命名「方舟OS」
    這一系統在國內市場將命名為「鴻蒙OS」,在海外市場命名為「方舟OS」,該系統或將在8月或9月推出。華為鴻蒙系統(圖取自Huawei Central)隨著華為鴻蒙商標現身國家知識產權局商標局中國商標網,華為自研系統一事漸漸浮出水面。
  • Logcat命令行工具
    這裡先說一下logcat先給官方定義Logcat 是一個命令行工具,用於轉儲系統消息日誌,包括設備拋出錯誤時的堆棧軌跡,以及從您的應用中使用 Log 類寫入的消息。logcat進程啟動時入口在logcat_main.cpp#main()方法,其中核心android_logcat_run_command方法中調用__logcat方法來解析命令參數,最終通過Socket發送給logd處理等,例如clear命令會通過發送給logd的CommandListener類(logd.control線程)來處理。
  • 創新研究丨系統日誌查詢
    /var/log/apt/ : Apt/apt-get命令歷史和日誌目錄/var/log/syslog或/var/log/messages:顯示有關系統的一般消息和信息。基本上是整個全球系統所有活動的數據日誌。要知道在基於 Redhat 的系統(如 CentOS 或 Rhel)上發生的一切都將進入消息。