為什麼需要定製自己的日誌工具呢?難得安卓自帶的log不好嗎?
雖然 android 中自帶的日誌工具功
能非常強大,但也不能說是完全沒有缺點,例如在列印日誌的控制方面就做得不夠好。
打個比方,你正在編寫乙個比較龐大的專案,期間為了方便除錯,在**的很多地方都
列印了大量的日誌。最近專案已經基本完成了,但是卻有乙個非常讓人頭疼的問題,之前用
於除錯的那些日誌,在專案正式上線之後仍然會照常列印,這樣不僅會降低程式的執行效率,
還有可能將一些機密性的資料洩露出去。
那該怎麼辦呢,難道要一行一行把所有列印日誌的**都刪掉?顯然這不是什麼好點
子,不僅費時費力,而且以後你繼續維護這個專案的時候可能還會需要這些日誌。因此,最
理想的情況是能夠自由地控制日誌的列印,當程式處於開發階段就讓日誌列印出來,當程式
上線了之後就把日誌遮蔽掉。
//只需要控制level的大小就可以控制輸出的等級
public
class
logutil
}public
static
void
d(string tag,string msg)
}public
static
void
i(string tag,string msg)
}public
static
void
w(string tag,string msg)
}public
static
void
e(string tag,string msg)
}}
這樣就把乙個自定義的日誌工具建立好了,之後在專案裡我們可以像使用普通的日誌工
具一樣使用 logutil,比如列印一行 debug 級別的日誌就可以這樣寫:
logutil.d("tag", "debug log");
列印一行 warn 級別的日誌就可以這樣寫:
logutil.w("tag", "warn log");
然後我們只需要修改 level 常量的值,就可以自由地控制日誌的列印行為了。比如讓
level 等於 verbose 就可以把所有的日誌都列印出來,讓 level 等於 warn 就可以只
列印警告以上級別的日誌,讓 level 等於 nothing 就可以把所有日誌都遮蔽掉。
使用了這種方法之後,剛才所說的那個問題就不復存在了,你只需要在開發階段將
level 指定成 verbose,當專案正式上線的時候將 level 指定成 nothing 就可以了。
定製自己的日誌工具
雖然 android 中自帶的日誌工具功能非常強大,但也不能說是完全沒有缺點,例如在列印日誌的控制方面就做得不夠好。打個比方,你正在編寫乙個比較龐大的專案,期間為了方便除錯,在 的很多地方都列印了大量的日誌。最近專案已經基本完成了,但是卻有乙個非常讓人頭疼的問題,之前用於除錯的那些日誌,在專案正式上...
14 3 定製自己的日誌工具
早在1.4 節中我們就已經學過了 android 日誌工具的用法,並且日誌工具也確實貫穿了我們整本書的學習。雖然 android 中自帶的日誌工具功能非常強大,但也不能說是完全沒有缺點,例如在列印日誌的控制方面就做得不夠好。打個比方,你正在編寫 個比較龐大的專案,期間為了方便除錯,在 的很多地方都列...
定製自己的工具類
定製自己的列印資訊類,方便除錯,如下 package dyk.viewpagerdemo.log import android.util.log created by administrator on 2017 04 28.日誌工具類 在軟體上線後,讓level 等於 nothing就要行了 除錯的...