|
使用 logcat 命令 查看和跟蹤系統(tǒng)日志緩沖區(qū)的命令logcat的一般用法是: [adb] logcat [<option>] ... [<filter-spec>] ... 下文介紹過濾器和命令選項,詳細(xì)內(nèi)容可參見Listing of logcat Command Options。 可以在開發(fā)機(jī)中通過遠(yuǎn)程shell的方式使用logcat命令查看日志輸出: $ adb logcat如果是在遠(yuǎn)程shell中可直接使用命令: # logcat
過濾日志輸出 每一條日志消息都有一個標(biāo)記和優(yōu)先級與其關(guān)聯(lián)。 標(biāo)記是一個簡短的字符串,用于標(biāo)識原始消息的來源 (例如"View" 來源于顯示系統(tǒng))。 優(yōu)先級是下面的字符,順序是從低到高: V — 明細(xì) (最低優(yōu)先級) D — 調(diào)試 I — 信息 W — 警告 E — 錯誤 F — 嚴(yán)重錯誤 S — 無記載 (最高優(yōu)先級,沒有什么會被記載) 通過運行logcat ,可以獲得一個系統(tǒng)中使用的標(biāo)記和優(yōu)先級的列表,觀察列表的前兩列,給出的格式是<priority>/<tag>。 這里是一個日志輸出的消息,優(yōu)先級是“I”,標(biāo)記是“ActivityManager”: I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...} 如果想要減少輸出的內(nèi)容,可以加上過濾器表達(dá)式進(jìn)行限制,過濾器可以限制系統(tǒng)只輸出感興趣的標(biāo)記-優(yōu)先級組合。 過濾器表達(dá)式的格式是tag:priority ... ,其中tag是標(biāo)記, priority是最小的優(yōu)先級, 該標(biāo)記標(biāo)識的所有大于等于指定優(yōu)先級的消息被寫入日志。也可以在一個過濾器表達(dá)式中提供多個這樣的過濾,它們之間用空格隔開。 下面給出的例子是僅輸出標(biāo)記為“ActivityManager”并且優(yōu)先級大于等于“Info”和標(biāo)記為“MyApp”并且優(yōu)先級大于等于“Debug”的日志: adb logcat ActivityManager:I MyApp:D *:S 上述表達(dá)式最后的 下面的表達(dá)是顯示所有優(yōu)先級大于等于“warning”的日志: adb logcat *:W 如果在開發(fā)用電腦上運行 export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S" 需要注意的是,如果是在遠(yuǎn)程shell或是使用
控制日志格式 日志消息在標(biāo)記和優(yōu)先級之外還有很多元數(shù)據(jù)字段,這些字段可以通過修改輸出格式來控制輸出結(jié)果, brief — 顯示優(yōu)先級/標(biāo)記和原始進(jìn)程的PID (默認(rèn)格式) process — 僅顯示進(jìn)程PID tag — 僅顯示優(yōu)先級/標(biāo)記 thread — 僅顯示進(jìn)程:線程和優(yōu)先級/標(biāo)記 raw — 顯示原始的日志信息,沒有其他的元數(shù)據(jù)字段 time — 顯示日期,調(diào)用時間,優(yōu)先級/標(biāo)記,PID long —顯示所有的元數(shù)據(jù)字段并且用空行分隔消息內(nèi)容 可以使用 [adb] logcat [-v <format>] 例如使用 adb logcat -v thread 注意只能在
Viewing Alternative Log Buffers Android日志系統(tǒng)為日志消息保持了多個循環(huán)緩沖區(qū),而且不是所有的消息都被發(fā)送到默認(rèn)緩沖區(qū),要想查看這些附加的緩沖區(qū),可以使用 radio — 查看包含在無線/電話相關(guān)的緩沖區(qū)消息 events — 查看事件相關(guān)的消息 main — 查看主緩沖區(qū) (默認(rèn)緩沖區(qū)) [adb] logcat [-b <buffer>] 例如查看radio緩沖區(qū): adb logcat -b radio
adb logcat簡單舉例: 1、導(dǎo)入日志到sd卡
/** * @author 張興業(yè)
|
|
|