logcat命令詳解
来源:互联网 发布:db2数据库的一些操作 编辑:程序博客网 时间:2024/05/07 13:31
Android日志系統提供了記錄和查看系統調試信息的功能。日志都是從各種軟件和一些系統的緩沖區中記錄下來的,緩沖區可以通過logcat命令來查看和使用.
在使用logcat之前,請確保手機的USB調試模式已經開启,可以通過"Setting->Application->Development->USB debugging"來開启。
logcat本身是android的shell的一個命令,你可以通過“adb shell”進入shell後執行logcat命令,也可以通過"adb logcat"直接運行。
語法:
[adb] logcat [<option>] ... [<filter-spec>] ...
選項:
-b <buffer> 指定要查看的日志緩沖區,可以是system,events ,radio,main . 默認值是system和main 。
-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
参數<filter-spec>
参數<filter-spec>用於對某類的tag的日志輸出進行過滤。每一個輸出的Android日志信息都有一個tag和它的優先級.日志的標簽是系統部件原始信息的一個簡要的標志。這個tag就是Log.i,Log.d,Log.i,Log.w,Log.e,Log.wtf系列函數中的tag.
對於System.out.print系列函數所對於的tag,其實就是"System.out"
<filter-spec>以“tag:priority”的形式來對日志輸出進行過滤的
優先級priority有以下幾種,按照從低到高順利排列如下:
V — Verbose (lowest priority) 對應於Log.i()系列函數
D — Debug 對應於Log.d()系列函數
I — Info 對應於Log.i()系列函數
W — Warning 對應於Log.w()系列函數
E — Error 對應於Log.e()系列函數
F — Fatal 對應於Log.wtf()系列函數
S — Silent (highest priority, on which nothing s ever printed)
在運行logcat的時候在前兩列的信息中你就可以看到 logcat 的標簽列表和優先級別,它是這样標出的:<priority>/<tag> .
<filter-spec>中的優先級是指顯示該優先級即其以上優先級得日志。比如對於robin:D表示顯示tag为robin的所有Debug及其以上優先級的日志。<filter-spec>只是的針對某類的tag的日志進行過滤,如果有多個針對同一個tag的過滤的話,以最後一個为准。另外對於tag,可以使用通配符。對於在tag中沒有使用統配符的<filter-spec>,我稱它为顯式的日志過滤器;而對於在tag中使用統配符的,我稱它它为隱式的日志過滤器。如果這兩種過滤器有對着同一個tag的過滤的話,以顯示的日志過滤器为准。如果是同一種的話(顯式/隱式),以後一個为准。
因为<filter-spec>只是指明了對某一類tag應該進行如何過滤,它沒說明的其他tag,將采用系統默認的方式(*:V),即全部輸出。我們可以通過選項"-s"來設置<filter-spec>中沒有說明的tag來都不輸出,相當於"*.S"
實例1:
adb logcat -s robin:i
這样將顯現tag为robin的Info及以上優先級的所有的日志。該命令等同於adb logcat robin:i *:S
-b 選項
該選項用於指定要操作的日志緩沖區,可以是system,events ,radio,main .它們分別對應/dev/log文件夾下的system,events ,radio,main日志文件 。系統默認的是system和main 。該選項可以出現多次,以指定多個日志緩沖去。
比如:
adb logcat -b system -b main -b events -b radio -s robin:i
日志輸出的開頭幾行說明了你當前查看的哪些日志緩沖區,比如上面的語句的前幾行就是:
--------- beginning of /dev/log/radio
--------- beginning of /dev/log/events
--------- beginning of /dev/log/system
--------- beginning of /dev/log/main
其實“adb logcat -s robin:i”相當於“adb logcat -b system -b main -s robin:i”。我們的Log.i,Log.d,Log.i,Log.w,Log.e,Log.wtf系列函數及System.out.print系列函數以及System.erro.print系列都輸出到了main緩沖區。因此我們一般用默認的就足夠了。
events緩沖區對應的日志文件/system/etc/event-log-tags,使用android.util.EventLog生成的日志就輸出到該緩沖區。
android.database.sqlite.SQLiteDatabase的logTimeStat()函數就是使用EventLog來進行日志輸出的
-c 選項
該選項用於清空你所指定的日志緩沖區。應該就是清除其對應的日志文件
-s 選項
該選項將把tag的默認過滤級別設置为silent,這样tag默認就不顯示。系統把tag的默認過滤級別是設置为Verbose,這样其tag默認就是要顯示的。
-f 選項
該選項指定輸出日志信息的<filename> ,默認是stdout . 但是這裏的文件是指android系統上的文件。如果我們想把日志輸出到本地window系統的話,請采用如下形式的命令:adb logcat -s robin:i>1.log
這样日志就輸出了你的window的當前目錄的1.log文件中。
-v 選項
日志信息包括了許多元數據域包括標簽和優先級。可以通過-v選項可以用來指定日志的輸出格式,以顯示出特定的元數據域。
brief — Display priority/tag and PID of originating process (the default format).顯示prority/tag,產生日志的進程的id,和日志消息本身。它是日志默認的輸出格式。
process — Display PID only.顯示priority,產生日志的進程的id,和日志消息本身
tag — Display the priority/tag only.顯示prority/tag,和消息本身
thread — Display process:thread and priority/tag only.顯示priority,線程和日志消息本身
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.顯示產生日志的時間,prority/tag,產生日志的進程Id,和日志消息本身。
long — Display all metadata fields and separate messages with a blank lines.顯示產生日志的時間,prority/tag,產生日志的進程Id,和日志消息本身。但是日志消息本身另其一行進行顯示。每個日志之間空一行。
當启動了logcat ,你可以通過-v 選項來指定輸出格式:
[adb] logcat [-v <format>]
實例2:
adb logcat -v time -s robin:v
注意是通過-v 選項來設置輸出格式.
- logcat命令詳解
- Logcat命令
- logcat命令
- logcat命令
- logcat命令
- logcat命令
- logcat 命令
- logcat命令详解
- android应用程序logcat命令
- android中的logcat命令
- 使用logcat命令
- LogCat命令详细说明
- Logcat命令详解
- logcat命令详解
- logcat命令详解
- 使用logcat命令
- logcat命令详解
- Logcat命令详解
- python基础(1):文件的读取、创建、追加、删除、清空
- mysql"ON DUPLICATE KEY UPDATE"语法简析
- Java排序算法之快速排序
- 《30天自制操作系统》学习笔记--第10天
- 东软实训推荐面试问题12:三分钟表现自己使我感兴趣就留下来?
- logcat命令詳解
- ExtJs4常用函数
- 设置session用memcache来存储
- 宝宝记录
- 阿哦, 恒字掉了
- MySQL中的游标
- HTML5书籍推荐
- bootstrap 之 基本知识
- 主瓣和旁瓣