1. 程式人生 > >Android的日誌工具Log

Android的日誌工具Log

err bundle 應用 幫助 界面 deb dev 日誌 pro

  Android中的日誌工具類是Log(android.util.Log),這個類提供了以下幾個方法來供我們打印日誌。

  ? Log.v():這個方法用於打印那些最為瑣碎的,意義最小的日誌信息。對應級別verbose,是android日誌裏面級別最低的一種。

  ? Log.d():這個方法用於打印一些調試信息,這些信息對調試程序和分析問題應該是有幫助的。對應級別debug,比verbose高一級。

  ? Log.i():這個方法用於打印一些比較重要的數據,這些數據應該是非常想看的,可以幫助分析用戶行為的那種。對應級別info,比debug高一級。

  ? Log.w():這個方法用於打印一些警告信息,提示程序在這個地方可能會有潛在的風險,最好去修復一下這些出現警告的地方。對應級別warn,比info高一級。

  ? Log.e():這個方法用於打印程序中的錯誤信息,比如程序進入到了catch語句當中。當有錯誤信息打印出來的時候,一般都代表你的程序出現嚴重問題了,必須盡快修復。對應級別error,比warn高一級。

protected void onCreate(Bundle saveInstanceState){
    super.onCreate(saveInstanceState);
    Log.d("HelloWorldActivity","onCreate execute");
    Log.i("HelloWorldActivity","onCreate execute");
    Log.w(
"HelloWorldActivity","onCreate execute"); Log.e("HelloWorldActivity","onCreate execute"); }

  Log方法中傳入了兩個參數,第一個參數時tag,一般傳入當前的類名就好,主要用於對打印信息進行過濾。第二個參數是msg,即想要打印的具體內容。

技術分享

  不僅能看到打印日誌的內容和Tag名,就連程序的包名、打印的時間以及應用程序的進程號都可以看到。如果LogCat中沒有打印出任何信息,有可能是因為當前的設備失去焦點了。這是只需要進入DDMS視圖,在Devices窗口中點擊一下當前的設備,打印信息就會出來了。

  過濾器的使用

  技術分享

  目前有兩個過濾器,All messeage過濾器也就相當於沒有過濾,會把所有的日誌都顯示出來。com.example.activitytest是我們運行ActivityTest項目是自動創建的,點擊這個過濾器就可以只看到ActivityTest程序中打印的日誌。

  點擊圖中的“+”號,會彈出一個過濾器配置界面。我們給過濾器起名叫data,並讓它對名為data的Tag進行過濾。

  技術分享

  點擊OK,會多出一個data過濾器,當點擊這個過濾器的時候,剛剛在onCreate()方法裏打印的日誌沒了,這是因為data這個過濾器只會顯示Tag名為data的日誌。可以嘗試把onCreate()方法中把打印日誌的語句改成Log.d("data","onCreate execute"),然後再次運行程序,就會在data過濾器下看到這條日誌了。

  看完過濾器,再看一下LogCat中的日誌級別控制。LogCat中主要有5個級別,分別對應上面5個方法。

  技術分享

  當選擇verbose級別時,也就是最低級別,所有verbose及以上級別方法都會打印出來。

Android的日誌工具Log