工欲善其事拷呆,必先利其器
Anroid 開發(fā)的最大的利器就是Android Studio了伶棒。
工具雖好钩述,但也要稱手才行。
調(diào)試Debug
在我還沒有使用Android studio之前宛裕,我主要的Debug查看時瑟啃,主要是通過TAG過濾,也同時過本應(yīng)用的其他LOG也被過濾了揩尸。同時我又懶做其他過濾蛹屿,經(jīng)常使得我在調(diào)試時需要不斷的切換出來看其他的Log信息。
這個時候岩榆,使用TAG的粒度就小了些错负,看到不其應(yīng)用的其他信息。如果不使用TAG,其他應(yīng)用勇边,系統(tǒng)的log就像蒼蠅一樣飛來了犹撒。
為了更全局的觀看應(yīng)用的調(diào)式過程,我覺得需要粒度控制要精細一下粒褒。
這樣的好處就是我知道應(yīng)用發(fā)生了什么
一個設(shè)備的調(diào)試信息像水一樣流動识颊。
有時候,就是因為一點點奕坟,那是好一點點祥款,那就會好很多清笨,你比別人多一點點,也就是比別人好镰踏。一點點的多了函筋。什么事情都會慢慢變好了
重要的是思想沙合,方式方法可以是多樣的奠伪。但主要的要旨就是:
在開發(fā)中盡量顯示需要的信息,不顯示不需要的信息首懈。
過濾
Log Tag
Log Message
Log Package Name
Log PID
Log Level
(關(guān)于Regex(正則表達式)請自行查看使用
5個過濾維度:
標簽绊率,內(nèi)容,包名究履,進程ID滤否,重要級
過濾參數(shù)就是日志的匹配規(guī)則(可使用正則表達式)
區(qū)分自己的應(yīng)用和別人的應(yīng)用 包名,和進程ID
包名是應(yīng)用的唯一確認的標識不僅在開發(fā)中最仑,而且在生產(chǎn)環(huán)境中也是一樣的藐俺。
所以在開發(fā)中如何選中只是本應(yīng)用的信息的優(yōu)先維度是:包名
Package Name
在過濾參數(shù)內(nèi)寫入指定的包名,那么在Log監(jiān)視臺里打印出來的就是與本包名相關(guān)的Log了泥彤。
世界一下子就清靜了
這個做完之后欲芹,粒度的粗細就細分到了自己的
我不建議使用PID.因為這個值會隨著運行環(huán)境的不同有不同的值 不可控的值不具唯一性。
使用Log Level
選擇Log Level 里是有5種重要級吟吝。它們是父子層級的關(guān)系菱父。
Error>Warn>Info>debug>Verbose
還有一個Assert(用于自動化測試斷言的)
在打印的Log,這樣的一層層的將Log的范圍縮小剑逃,這個世界可能就更加安靜了
一個方式是:你可以制5個過濾浙宜,分別對應(yīng)的這個5個重要級,在需要的時候選中你需要的級別顯示
一個方式是:我們通過Log的顏色值去做區(qū)分的蛹磺。
使用TAG
標簽粟瞬,這個時候就具體到業(yè)務(wù)模塊了。我的經(jīng)驗是萤捆,在不同的打印的就是當(dāng)前類名稱做為一個TAG標稱
一通發(fā)裙品,這里我能較快過的通過這個Tag來確認這個LOG是在哪一個類打印出來的”詈洌可以很方使定位
這是它的目的清酥,
當(dāng)然你有一些朋友會想使用統(tǒng)一TAG(整個應(yīng)用都是同一個 例如:APP的名字)
也有一種折中的方式:使用模塊的名稱做為TAG(倒如:登錄),這些具體要看你們的分式和代碼的解耦的情況蕴侣。
只要達成只顯示需要的信息焰轻,不顯示不需要的信息的要旨就可以了。
使用 Log Message
這部分選用的是消息的內(nèi)容昆雀,作用為消息內(nèi)容部分辱志,這個部分如過結(jié)合正則表達式蝠筑,應(yīng)該也有一定的過人之處
另外如果還不能完全滿足的。
最后
PS:在log 監(jiān)視窗里還有可以通查找折方式去定位你想要的信息
還有一些更好的
選擇Level時揩懒,可以看到有一個下拉選項什乙。點擊選項,彈出下拉框已球,選擇你需要的Level.控制臺就會過濾你想要的Level
還有臣镣,可以看到這里有一參數(shù)輸入框,輸入?yún)?shù)智亮,會自動的替換了過濾維 度里的參數(shù)值忆某,但是具體的優(yōu)先過沾濾哪一個就不是很清楚了。
如你輸入PID值 9911 那它會過濾出這PID相關(guān) LOG,
如父輸入一TAG,那它會過濾出這個TAG相關(guān)的Log