一、建議使用Log代替System.out.println()
在此前,我依然在使用System.out.println()來輸出日誌,調試程序。但是在實際開發應用場景中使用System.out.println("")來輸出日誌是十分難以管理和查看的。至於好處在哪兒,我們且看Log的表現。
二、Log.
android stdio中的日誌工具Log(android.util.Log),提供了下面幾個方法來打印日誌
- Log.d
- Log.e
- Log.i
- Log.r
- Log.m
- Log.w
其中.r與.m實質上是調用了Log.d 只不過是參數列表不同而已。
下面我寫了Log中的幾個方法
現在我們先設置一下android stdio中的Logcat過濾器,點擊下面紅色箭頭的選項
1處輸出我們的項目名稱,2處輸入Log方法的目標Tag
現在我們來運行一下我們新建的項目,來查看一下Log的輸出情況
可以看見,當把Log的等級調爲Assert時 並沒有日誌輸出,讓我們切換一下等級試試看
當把Log等級調爲Error時,我們new的一個Exception已經出現在了日誌面板,Go on...
注意現在的Log等級爲Warn,這個時候輸出的日誌包括了Log.e 也就是說Warn等級會把Error等級的日誌都一併輸出
Info等級把Warn、Error等級的都輸出了
Debug把下面幾個等級的也都一併輸出了,verbose會將所有的Log都輸出。
在一個大型項目中,動則上萬行的代碼,N多個地方 如果一直使用System.out.println()來做日誌輸出的話,是非常難以管理和控制的。所以學習Logcat是非常基本的一個要求。