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介面中,點選不同的選項卡可以實時監測正在執行的模擬器的記憶體、CPU、GPU和網路的使用情況。
使用日誌工具Log
我們可以注意到,在AS的logcat介面搜尋框的左邊,有一個下拉選框可以選擇Log level。Android的日誌檔案有五個級別,由低到高分別是verbose、debug、info、warn、error。在Android提供的日誌工具類Log(android.util.Log)中,分別對應這五個級別提供了五個列印日誌的方法:
- Log.v():列印那些最為瑣碎的,意義最小的日誌資訊。對應級別verbose。
- Log.d():用於列印一些除錯資訊,對應級別debug。
- Log.i():用於列印一些比較重要的資料,對應級別info。
- Log.w():用於列印一些警告資訊,對應級別warn。
- Log.e():用於列印程式中的錯誤資訊,對應級別error。
現在我們在HelloWorld專案嘗試一下使用日誌工具。開啟MainActivity,在onCreate()方法中最後一行新增一句列印日誌的語句。Log.d("MainActivity", "onCreate: execute");
Log.d方法中傳入了兩個引數,第一個引數是tag,一般傳入當前的類名就好,主要用於對列印資訊進行過濾。第二個引數是msg,即想要列印的具體的內容。
現在來重新執行一下HelloWorld這個專案。如下圖所示,我們收到了許多的資訊。在這些資訊中可以看到我們想要列印的那條資訊,但是,需要好好尋找一番。
怎麼會這樣呢?讓我們點選一下logcat介面最右邊的一個下拉選框。這時我們看到了有show only selected application。選擇它,我們看到下方列印的資訊瞬間清爽了很多。這是什麼?這是LogCat提供的過濾器。show only selected application是我們執行HelloWorld專案時自動建立的。我們看到還有No Filters,就是沒有過濾器。看再下面一條,Edit Filter Configuration,選擇它,我們就可以新增我們自己的過濾器了。下面是新增頁面:
新增如圖所示的過濾器,點選確定然後選擇,可以看到下圖所示的頁面了。
名為MainActivity的過濾器只對指定的Tag(MainActivity)進行過濾。
PS:對於Android來說,使用log比用System.out.println()方法來列印資訊要很多,因為System.out.println()有很多的缺點,比如日誌列印不可控制、列印時間無法確定、不能新增過濾器、日誌沒有級別區分等