android的logcat详细用法
??????
目錄(?)[+]
Android日志系統提供了記錄和查看系統調試信息的功能。日志都是從各種軟件和一些系統的緩沖區中記錄下來的,緩沖區可以通過??命 令來查看和使用.
使用
你可以用??命令來查看系統日志緩沖區的內容:
[adb]請查看Listing of ?,它對
你也可以在你的電腦或運行在模擬器/設備上的遠程adb shell端來使用命 令,也可以在你的電腦上查看日志輸出。
$ adb你也這樣使用:
#過濾 日志輸出
每一個輸出的Android日志信息都有一個標簽和它的優先級.
- 日志的標簽是系統部件原始信息的一個簡要的標志。(比如:“View”就 是查看系統的標簽).
- 優先級有下列集中,是按照從低到高順利排列的: - V?— Verbose (lowest priority)
- D?— Debug
- I?— Info
- W?— Warning
- E?— Error
- F?— Fatal
- S?— Silent (highest priority, on which nothing is ever printed)
 
在運行
下面是一個
I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...}為了讓日志輸出能體現管理的級別,你還可以用過濾器來控制日志輸出,過濾器可以幫助你描述 系統的標簽等級.
過濾器語句按照下面的格式描tag:priority ...?,?tag?表 示是標簽,priority?是表示標簽的報告的最低等級. 從上面的tag的中可以得到日志的優先級.? 你可以在過濾器中多次寫tag:priority?.
這些說明都只到空白結束。下面有一個列子,例子表示支持所有的日志信息,除了那些標簽 為”ActivityManager”和優先級為”Info”以上的和標簽為” MyApp”和優先級為” Debug”以上的。 小等級,優先權報告為tag.
adb上面表達式的最后的元素?*:S?,,是設置所有的標 簽為”silent”,所有日志只顯示有”View” and “MyApp”的,用?*:S?的另一個用處是 能夠確保日志輸出的時候是按照過濾器的說明限制的,也讓過濾器也作為一項輸出到日志中.
下面的過濾語句指顯示優先級為warning或更高的日志信息:
adb如果你電腦上運行?,相比在遠程adbshell端,你還可以 為環境變量ANDROID_LOG_TAGS?:輸入一個參數來設置默認的過濾
export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S"需要注意的是ANDROID_LOG_TAGS?過濾器如果 通過遠程shell運行?或 用adb shell ?來 運行模擬器/設備不能輸出日志.
控制 日志輸出格式
日志信息包括了許多元數據域包括標簽和優先級??梢孕薷娜罩镜妮敵龈袷?#xff0c;所以可以顯示出特 定的元數據域??梢酝ㄟ^?-v?選項得到格式化輸出日志的相關信息.
- brief?— Display priority/tag and PID of originating process (the default format).
- process?— Display PID only.
- tag?— Display the priority/tag only.
- thread?— Display process:thread and priority/tag only.
- raw?— Display the raw log message, with no other metadata fields.
- time?— Display the date, invocation time, priority/tag, and PID of the originating process.
- long?— Display all metadata fields and separate messages with a blank lines.
當啟動了?,你可以通過-v?選 項來指定輸出格式:
[adb]下面是用?thread?來產生的日志格式:
adb需要注意的是你只能-v?選項來規定輸出格式 option.
查看 可用日志緩沖區
Android日志系統有循環緩沖區,并不是所有的日志系統都有默認循環緩沖區。為了得到 日志信息,你需要通過-b?選項來啟動?。如果要使用循環緩沖區,你需要查看剩余的 循環緩沖期:
- radio?— 查看緩沖區的相關的信息.
- events?— 查看和事件相關的的緩沖區.
- main?— 查看主要的日志緩沖區
-b?選項使用方法:
[adb]下面的例子表示怎么查看日志緩沖區包含radio 和 telephony信息:
adb查看 stdout 和stderr
在默認狀態下,Android系統有stdout?和?stderr?(System.out和System.err?)? 輸出到/dev/null?, 在運行Dalvik VM的進程中,有一個系統可以備份日志文件。在這種情況下,系統會用stdout?和stderr?和 優先級 I.來記錄日志信息
通過這種方法指定輸出的路徑,停止運行的模擬器/設備,然后通過用setprop?命 令遠程輸入日志
$ adb shell stop $ adb shell setprop log.redirect-stdio true $ adb shell start系統直到你關閉模擬器/設備前設置會一直保留,可以通過添加/data/local.prop?可 以使用模擬器/設備上的默認設置
| -b?<buffer> | 加載一個可使用的日志緩沖區供查看,比如event?和radio?. 默認值是main?。具體查看Viewing Alternative Log Buffers. | 
| -c | 清楚屏幕上的日志. | 
| -d | 輸出日志到屏幕上. | 
| -f?<filename> | 指定輸出日志信息的<filename>?, 默認是stdout?. | 
| -g | 輸出指定的日志緩沖區,輸出后退出. | 
| -n?<count> | 設置日志的最大數目<count>?., 默認值是4,需要和?-r?選 項一起使用。 | 
| -r?<kbytes> | 每<kbytes>?時 輸出日志,默認值為16,需要和-f?選 項一起使用. | 
| -s | 設置默認的過濾級別為silent. | 
| -v?<format> | 設置日志輸入格式,默認的是brief?格 式,要知道更多的支持的格式,參看Controlling Log Output Format?. | 
轉載于:https://www.cnblogs.com/bigben0123/p/4488457.html
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的android的logcat详细用法的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: BigDecimal类的加减乘除
- 下一篇: android之frame动画详解
