Windows环境下Android Studio系列5—日志调试
為什么80%的碼農都做不了架構師?>>> ??
1. 定制Logcat調試日志字體顏色
? ? Logcat是Android開發(fā)調試中最常用的一個工具,Android Studio 1.2.2中默認對Logcat調試的顏色已經有所區(qū)分,但如果你想要定制自己的調試日志對應的字體顏色,以便更好地區(qū)分verbose、debug、error、info、warning等分類信息,那么下面看看如何來自定義Logcat的提示信息。
? ? 通過菜單File-->Setting-->Editor->Colors & Fonts->Android Logcat進入,由于我們在之前的[2] “編輯字體設置”中已經設置了myDarcula Scheme,因此會看到如下界面:
? ? 這里可以看到有6種調試級別:Assert、Debug、Error、Info、Verbose、Warning。
? ? 注意需要先將右邊Use inherited attributes選項去掉打鉤,然后才可以自定義顏色,此時雙擊右邊Foregound圖標就可以為每種分類設定特定的顏色了:
? ? ? ? ? ? ??? ??
? ? 選擇好顏色后在下方該調試級別文字會立即發(fā)生變化,非常直觀。
2. Logcat過濾選項
? ? 在[3]的第6部分,初次認識了Logcat,下面仔細看看如何來使用Logcat來快速查找關心的日志信息:
? ??
? ?左側可看到Logcat對話窗口,右上方可依次看到Log Level過濾選項、搜索過濾輸入框、以及Filter Configuration選項。
? ??
? ? 選擇Edit Filter Configuration,出現“Create New Logcat Filter”窗口,其中可設置一個或多個選項來過濾日志,并為這一組過濾參數指定一個Filter Name:
? ? ?. 可通過正則編寫的Log TAG
? ? . 可通過正則編寫的Log Message
? ? . Package Name
? ? . PID
? ? . Log Level ??
? ? ? ? ? ? ???
? ?這里我們根據TAG和Level設置兩個過濾項,分別命名為firstActivity與secondActivity:
? ? ? ? ? ??
? ?設置完成后,在右側下拉列表中就可以看到設置好的兩個過濾項: firstActivity與secondActivity了。
? ?
3. 代碼中輸出日志信息
? ? ?為了在代碼中輸出日志信息,需要使用Log類(import android.util.Log)。一個好的實踐是針對每個類/活動定義一個TAG常量,例如取當前類/活動的名稱作為TAG,然后利用log.v, log.d, log.i, log.w, log.e方法輸出日志。
? ? ?這幾個方法的最基本調用方式為第一個參數為@tag, 用于標識log消息的sorce,通常使用類或者活動名稱作為tag, 可在Logcat中基于tag快速過濾。第二個參數為日志串@msg,返回值int表示發(fā)送日志消息的字節(jié)數。
public?static?int?v(String?tag,?String?msg) public?static?int?d(String?tag,?String?msg) public?static?int?i(String?tag,?String?msg) public?static?int?w(String?tag,?String?msg) public?static?int?e(String?tag,?String?msg)注意:當調用
時,編譯器使用一個StringBuilder, 至少涉及3次分配操作:StringBuilder自身,buffer, 以及String對象。實際上還有另外一次buffer分配與復制,將對垃圾回收GC造成更大的壓力。這也就意味著如果你的log消息被過濾掉,則這里會對系統(tǒng)有較大的負荷-不斷地做buffer的分配與釋放(That means that if your log message is filtered out, you might be doing significant work and incurring significant overhead.)
? ?日志調用舉例,判斷activity創(chuàng)建時之前是否存在狀態(tài)信息:
? ? ? ? 代碼中還可以捕獲異常并輸出調用棧到日志中:
void someOtherMethod() {? ? try {
? ? ? ? ...
? ? } catch (SomeException e) {
? ? ? ? Log.d(TAG, "someOtherMethod()", e);
? ? }
}
注意:?當準備發(fā)布app時需要將debug log消息以及調用棧輸出信息刪除。可以設置一個DEBUG flag,然后將調試日志輸出都放在條件語句中。
4. 在Debugger模式下運行應用程序
? ? 待續(xù)
參考資料:
[1] Android Studio使用小技巧:自定義Logcat,?http://www.jb51.net/article/65515.htm
[2]?Windows環(huán)境下Android Studio系列3—簡單設置.?http://my.oschina.net/1pei/blog/469674
[3]?Windows環(huán)境下Android Studio系列4—界面介紹,?http://my.oschina.net/1pei/blog/469845
[4]?Debugging with Android Studio,?https://developer.android.com/intl/zh-cn/tools/debugging/debugging-studio.html
[5] class log,?https://developer.android.com/intl/zh-cn/reference/android/util/Log.html
[6] 第一行代碼——Android, 郭霖著, 人民郵電出版社, 2014.08.
轉載于:https://my.oschina.net/1pei/blog/478672
總結
以上是生活随笔為你收集整理的Windows环境下Android Studio系列5—日志调试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 饥荒兔毛有什么用? 地下二层兔毛获得方法
- 下一篇: 珊瑚粉、荧光黄、浪潮蓝,Beats Fi