1. 程式人生 > >Android學習筆記3:使用日誌工具

Android學習筆記3:使用日誌工具

《第一行程式碼——Android》郭霖著

找到LogCat

對於Eclipse,可以在第一次執行專案時新增LogCat,或者手動新增,手動新增的過程是:“點選Eclipse導航欄中的Window→Show View→Other,會彈出一個Show View對話方塊。你在Show View對話方塊中展開Android目錄,會看到有一個LogCat的子項,選中LogCat,點選OK。”

而對於AS,只需要點選左下角的Android Monitor就能開啟logcat視窗,如下圖所示:

Android Monitor.PNG

我們還能看到,在Android Monitor介面中,點選不同的選項卡可以實時監測正在執行的模擬器的記憶體、CPU、GPU和網路的使用情況。

使用日誌工具Log

我們可以注意到,在AS的logcat介面搜尋框的左邊,有一個下拉選框可以選擇Log level。Android的日誌檔案有五個級別,由低到高分別是verbose、debug、info、warn、error。在Android提供的日誌工具類Log(android.util.Log)中,分別對應這五個級別提供了五個列印日誌的方法:

  1. Log.v():列印那些最為瑣碎的,意義最小的日誌資訊。對應級別verbose。
  2. Log.d():用於列印一些除錯資訊,對應級別debug。
  3. Log.i():用於列印一些比較重要的資料,對應級別info。
  4. Log.w():用於列印一些警告資訊,對應級別warn。
  5. Log.e():用於列印程式中的錯誤資訊,對應級別error。

現在我們在HelloWorld專案嘗試一下使用日誌工具。開啟MainActivity,在onCreate()方法中最後一行新增一句列印日誌的語句。Log.d("MainActivity", "onCreate: execute");Log.d方法中傳入了兩個引數,第一個引數是tag,一般傳入當前的類名就好,主要用於對列印資訊進行過濾。第二個引數是msg,即想要列印的具體的內容。

現在來重新執行一下HelloWorld這個專案。如下圖所示,我們收到了許多的資訊。在這些資訊中可以看到我們想要列印的那條資訊,但是,需要好好尋找一番。

logtoomuch.PNG

怎麼會這樣呢?讓我們點選一下logcat介面最右邊的一個下拉選框。這時我們看到了有show only selected application。選擇它,我們看到下方列印的資訊瞬間清爽了很多。這是什麼?這是LogCat提供的過濾器。show only selected application是我們執行HelloWorld專案時自動建立的。我們看到還有No Filters,就是沒有過濾器。看再下面一條,Edit Filter Configuration,選擇它,我們就可以新增我們自己的過濾器了。下面是新增頁面:

log edit.PNG

新增如圖所示的過濾器,點選確定然後選擇,可以看到下圖所示的頁面了。

log one.PNG

名為MainActivity的過濾器只對指定的Tag(MainActivity)進行過濾。

PS:對於Android來說,使用log比用System.out.println()方法來列印資訊要很多,因為System.out.println()有很多的缺點,比如日誌列印不可控制、列印時間無法確定、不能新增過濾器、日誌沒有級別區分等