文章目錄
- 日志工具類 android.util.Log
- Logcat 中的過濾器
日志工具類 android.util.Log
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
高一級。
舉例:
Log.d("MainActivity", "onCreate execute");
// 兩個參數:
// tag:過濾打印信息,一般為當前類名
// msg:打印的具體內容
不使用 System.out.println( )
而使用 Log
一方面是 AS 不支持 syso+TAB
的自動補全,但支持 logd/logi/logw/loge+TAB
生成 Log 的自動補全,另一方面是 Log
顯示的信息更全面。
再偷懶一點,Log 的自動補全也有個缺陷——需要傳入 tag
參數:
由我們填寫太過繁瑣,因此我們可以在 onCreate()
方法外輸入 logt+TAB
生成值為當前類名的 TAG
常量:
Logcat 中的過濾器
Logcat
有三種過濾器,以滿足我們不同的需求:
- Show only selected application : 表示只顯示當前選中程序的日志。
- Firebase :谷歌提供的一個分析工具。
- No Filters :相當于沒有過濾器,會把所有的日志都顯示出來。
- Edit Filter Configuration :允許自定義過濾器。
我們來看看過濾器起到什么作用:
- 過濾器的名字叫:Unnamed-0
- 對參數 tag 值為 logshow 的日志進行過濾
點擊 OK 后將過濾器換為 Unnamed-0,發現 Logcat 沒有日志信息:
這是因為 Unnamed-0 只會顯示 tag 名稱為 logshow 的日志。只需要將原 Log.d 的 tag 從 MainActivity
改為 logshow
,即可輸出日志信息: