一、
LogCat 存儲在一個叫做 circular memory buffers 的緩沖中。
平時常用的都是通過eclipse 自帶的 logcat 插件查看 logcat ,
其實也可以通過命令來導出 logcat ,以方便在某些特定的情況查看 logcat ,
如下是個簡單的用法命令:
adb logcat -d > logcat.txt
---------------------- 你看見或看不見,我都是個分割線 -------------------------
二、
參照網上查找的資料和自己前些時間的開發工作實踐,
(初步的探索,難免有淺陋之處,歡迎高手不吝賜教。)
總結了一些logcat 高級詳細使用方法,如下所示:
[adb] logcat [<option>] ... [<filter-spec>] ...
[options] 命令包括如下選項:
-f <filename> — 指定輸出日志信息到某個文件 ,默認是 stdout 。
-g — 輸出指定的日志緩沖區,輸出後退出。
-n <count> — 設置日志的最大數目<count> .,默認值是4,需要和 -r 選項一起使用。
-r <kbytes> — 每<kbytes> 時輸出日志,默認值為16,需要和-f 選項一起使用。
-s — 設置過濾器,例如指定 '*:s'。
復制代碼
過濾器的格式是一個這樣的串:<tag>[:priority]
其中 <tag> 表示log的component, tag (或者使用 * 表示所有) , priority 從低到高如下所示:
V — Verbose
D — Debug
I — Info
W — Warn
E — Error
F — Fatal
S — Silent
復制代碼
-v <format> — 設置log的打印格式, <format> 只能是以下選項中的一種:
這些字段可以通過修改輸出格式來控制輸出結果。
復制代碼
brief: 顯示優先級/標記和原始進程的PID (默認格式)
process: 僅顯示進程PID
tag: 僅顯示優先級/標記
thread: 僅顯示進程:線程和優先級/標記
raw: 顯示原始的日志信息,沒有其他的元數據字段
time: 顯示日期,調用時間,優先級/標記,PID
long: 顯示所有的元數據字段並且用空行分隔消息內容
復制代碼
-c — 清除所有log並退出
-d — 得到所有log並退出 (不阻塞)
-b <buffer> — 請求不同的環形緩沖區
Android日志系統為日志消息保持了多個循環緩沖區,而且不是所有的消息都被發送到默認緩沖區,
要想查看這些附加的緩沖區,可以使用-b 選項,以下是可以指定的緩沖區:
main — 查看主緩沖區 (默認緩沖區)
radio — 查看包含在無線/電話相關的緩沖區消息
events — 查看事件相關的消息
-B — 輸出log到二進制文件中(或者是以二進制形式輸出log)。
---------------------- 你看見或看不見,我都是個分割線 -------------------------
三、
下面列舉一個稍復雜一些的 logcat 命令使用:
adb logcat -v time -s file_a.cpp:V file_b.cpp:W *:S > logcat_local.txt
個人覺得,能看懂並熟練運用這種程度的命令,應該基本夠用了。^_^