Android除錯----日誌
一、Android應用程式除錯
預設Android應用程式不能除錯,(eclipse)會提示如下資訊:“Application “xxx” does not have the attribute 'debuggable' set to TRUE in its manifest and cannot be debugged”
需要修改Manifest檔案中的debuggable屬性,使其值為true,這時才可以除錯。
二、日誌資訊
1、輸出日誌資訊
Android提供一個靜態Log類,提供五個靜態方法Log.v()(詳細),Log.d()(debug),Log.i()(information),Log.w()(warning) ,Log.e()(error),用來將訊息寫入模擬器上的日誌檔案中。如果在DDMS上執行logcat可以就實時檢視訊息
(1)日誌資訊級別
• Log.v() -------------------- VERBOSE
• Log.d() -------------------- DEBUG
• Log.i() -------------------- INFO
• Log.w() -------------------- WARN
• Log.e() -------------------- ERROR
以上log的級別依次升高,DEBUG資訊應當只存在於開發中,INFO, WARN,ERROR這三種log將出現在釋出版本中。
(2)輸出日誌資訊
在應用程式中新增 import android.util.Log;
使用該類的靜態方法,
1. Log.d(String tag, String msg);
1. Log.i(String tag, String msg);
2. Log.w(String tag, String msg);
3. Log.e(String tag, String msg);
•其中: tag是一個標識,可以是任意字串(一般將tag設定成一個靜態常量或使用類名+方法名)用來在檢視日誌時提供一個篩選條件,以方便的追蹤資訊的輸出。
• Msg 是log資訊的內容。
在應用程式中使用 System.out.println();語句將資訊輸出到日誌檔案(而不是將資訊輸出到控制檯)。
2、eclipse中檢視日誌
設定步驟如下:
(1)windows ==> Preferences ==> Android ==> DDMS ==> Logging Level
(設定日誌級別,選中之下的將被顯示,選中之上的不被顯示。)
(2)windows ==> Show View ==> Android ==> LogCat
(3)顯示LogCat欄目。
3、使用logcat命令列工具檢視日誌
logcat是Android中的一個命令列工具,可以用其得到程式的log資訊。
logcat使用方法如下:
logcat [options] [filterspecs]
options包括:
• -s 設定過濾器,例如指定 '*:s'
• -f <filename> 輸出到檔案,預設情況是標準輸出。
• -r [<kbytes>] Rotate log every kbytes. (16 if unspecified). Requires -f
• -n <count> Sets max number of rotated logs to <count>, default 4
• -v <format> 設定log的列印格式, <format> 是下面的一種:brief process tag thread raw time threadtime long
• -c 清除所有log並退出
• -d 得到所有log並退出 (不阻塞)
• -g 得到環形緩衝區的大小並退出
• -b <buffer> 請求不同的環形緩衝區 ('main' (預設), 'radio', 'events')
• -B 輸出log到二進位制中。
•過濾器的格式:<tag>[:priority],其中<tag>表示log的component,
priority 如下:
• V Verbose---------------------------------------Log.v()
• D Debug-----------------------------------------Log.d()
• I Info---------------------------------------------Log.i()
• W Warn-----------------------------------------Log.w()
• E Error------------------------------------------Log.e()
• F Fatal
• S Silent
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/dyufei/archive/2010/08/28/5844956.aspx