Logcat

Logcat

logcat是Android中一個命令行工具,可以用於得到程式的log信息。

基本命令

logcat使用方法如下所示 :

[adb] logcat [<option>] ... [<filter-spec>] ...

[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', 'system', 'radio', 'events',默認為"-b main -b system")

-B 輸出log到二進制中。

過濾器的格式是一個這樣的串:

<tag>[:priority]

其中 <tag> 表示log的component, tag (或者使用 * 表示所有) , priority 從低到高如下所示:

V Verbose

D Debug

I Info

W Warn

E Error

F Fatal

S Silent

生成方法

事實上logcat的功能是由Android的類android.util.Log決定的,在程式中log的使用方法如下所示:

Log.v() -------------------- VERBOSE

Log.d() -------------------- DEBUG

Log.i() -------------------- INFO

Log.w() -------------------- WARN

Log.e() -------------------- ERROR

以上log的級別依次升高,DEBUG信息應當只存在於開發中,INFO, WARN,ERROR這三種log將出現在發布版本中。

對於JAVA類,可以聲明一個字元串常量TAG,Logcat可以根據他來區分不同的log,例如在計算器(Calculator)的類中,定義如下所示:

由此,所有在Calculator中使用的log,均以"Calculator"為開頭。

例如使用方法如下所示:

# logcat &

< 得到一個log片段 >

W/KeyCharacterMap( 130): No keyboard for id 0

W/KeyCharacterMap( 130): Using default keymap: /system/usr/keychars/qwerty.kcm.bin

I/ActivityManager( 52): Displayed activity com.android.contacts/.DialtactsContactsEntryActivity: 983 ms

I/ARMAssembler( 52): generated scanline__00000077:03545404_00000A04_00000000 [ 29 ipp] (51 ins) at [0x25c978:0x25ca44] in 1764174 ns

I/ARMAssembler( 52): generated scanline__00000077:03515104_00000001_00000000 [ 46 ipp] (65 ins) at [0x25d1c8:0x25d2cc] in 776789 ns

D/dalvikvm( 130): GC freed 834 objects / 81760 bytes in 63ms

D/dalvikvm( 52): GC freed 10588 objects / 425776 bytes in 94ms

其中W/I/D表示log的級別,“dalvikvm”“ARMAssembler”等是不同組件(component)的名稱,後面括弧裡面的數字表示了發出log的進程號。

相關詞條

相關搜尋

熱門詞條

聯絡我們