手机网站seo教程下载,网站seo策划方案实例,如何网站建设网页,怎让做淘宝网站Android log系统 logcat介绍
logcat是android中的一个命令行工具#xff0c;可以用于得到程序的log信息。下面介绍 adb logcat中的详细参数命令以及如何才能高效的打印日志#xff0c;或把日志保存到我们指定的位置。
可以输入 adb logcat --help#xff0c;查看一下一些简…Android log系统 logcat介绍
logcat是android中的一个命令行工具可以用于得到程序的log信息。下面介绍 adb logcat中的详细参数命令以及如何才能高效的打印日志或把日志保存到我们指定的位置。
可以输入 adb logcat --help查看一下一些简单的数据格式
adb logcat --help
输出结果
Usage: logcat [options] [filterspecs]General options:-b, --bufferbuffer Request alternate ring buffer(s):main system radio events crash default allAdditionally, kernel for userdebug and eng builds, andsecurity for Device Owner installations.Multiple -b parameters or comma separated list of buffers areallowed. Buffers are interleaved.Default -b main,system,crash,kernel.-L, --last Dump logs from prior to last reboot from pstore.-c, --clear Clear (flush) the entire log and exit.if -f is specified, clear the specified file and its related rotatedlog files instead.if -L is specified, clear pstore log instead.-d Dump the log and then exit (dont block).--pidpid Only print logs from the given pid.--wrap Sleep for 2 hours or when buffer about to wrap whichevercomes first. Improves efficiency of polling by providingan about-to-wrap wakeup.Formatting:-v, --formatformat Sets log print format verb and adverbs, where format is one of:brief help long process raw tag thread threadtime timeModifying adverbs can be added:color descriptive epoch monotonic printable uid usec UTC year zoneMultiple -v parameters or comma separated list of format and formatmodifiers are allowed.-D, --dividers Print dividers between each log buffer.-B, --binary Output the log in binary.Outfile files:-f, --filefile Log to file instead of stdout.-r, --rotate-kbytesn Rotate log every n kbytes. Requires -f option.-n, --rotate-countcount Sets max number of rotated logs to count, default 4.--idid If the signature id for logging to file changes, then clear theassociated files and continue.Logd control:These options send a control message to the logd daemon on device, print its return message ifapplicable, then exit. They are incompatible with -L, as these attributes do not apply to pstore.-g, --buffer-size Get the size of the ring buffers within logd.-G, --buffer-sizesize Set size of a ring buffer in logd. May suffix with K or M.This can individually control each buffers size with -b.-S, --statistics Output statistics.--pid can be used to provide pid specific stats.-p, --prune Print prune rules. Each rule is specified as UID, UID/PID or /PID. A~ prefix indicates that elements matching the rule should be prunedwith higher priority otherwise theyre pruned with lower priority. Allother pruning activity is oldest first. Special case ~! represents anautomatic pruning for the noisiest UID as determined by the currentstatistics. Special case ~1000/! represents pruning of the worst PIDwithin AID_SYSTEM when AID_SYSTEM is the noisiest UID.-P, --prunelist ... Set prune rules, using same format as listed above. Must be quoted.Filtering:-s Set default filter to silent. Equivalent to filterspec *:S-e, --regexexpr Only print lines where the log message matches expr where expr isan ECMAScript regular expression.-m, --max-countcount Quit after printing count lines. This is meant to be paired with--regex, but will work on its own.--print This option is only applicable when --regex is set and only useful if--max-count is also provided.With --print, logcat will print all messages even if they do notmatch the regex. Logcat will quit after printing the max-count numberof lines that match the regex.-t count Print only the most recent count lines (implies -d).-t time Print the lines since specified time (implies -d).-T count Print only the most recent count lines (does not imply -d).-T time Print the lines since specified time (not imply -d).count is pure numerical, time is MM-DD hh:mm:ss.mmm...YYYY-MM-DD hh:mm:ss.mmm... or sssss.mmm... format.--uiduids Only display log messages from UIDs present in the comma separate listuids. No name look-up is performed, so UIDs must be provided asnumeric values. This option is only useful for the root, log, andsystem users since only those users can view logs from other users.filterspecs are a series oftag[:priority]where tag is a log component tag (or * for all) and priority is:V Verbose (default for tag)D Debug (default for *)I InfoW WarnE ErrorF FatalS Silent (suppress all output)* by itself means *:D and tag by itself means tag:V.
If no * filterspec or -s on command line, all filter defaults to *:V.
eg: *:S tag prints only tag, tag:S suppresses all tag log messages.If not specified on the command line, filterspec is set from ANDROID_LOG_TAGS.If not specified with -v on command line, format is set from ANDROID_PRINTF_LOG
or defaults to threadtime
log类是一个日志类可以在代码中使用logcat打印出消息。常见的日志记录方法包括。 方法 描述 v(String,String) (vervbose) 显示全部信息 d(String,String)(debug) 显示调试信息 i(String,String)(information) 显示⼀般信息 w(String,String)(waning) 显示警告信息 e(String,String)(error) 显示错误信息
例如
// 开发过程中获取 log
Log.i(MyActivity,MyClass.getView() - get item numberposition);
//adb 获取 log
adb logcat
adb logcat 输出的⽇志格式如下
I/ActivityManager( 1754): Waited long enough for: ServiceRecord{2b24178c u0
com.google.android.gms/.checkin.CheckinService}
logcat命令格式
语法格式
[adb] logcat [] … [ ] …
PC 端使⽤ adb logcat
shell 模式下使⽤ logcat
logcat缓冲区
缓冲区介绍
Android 日志系统为日志消息保留了多个环形缓冲区但并非多有的日志消息都会发送到默认的环形缓冲区。这里可以采用 logcat -b 命令查看设备的其他缓冲区 缓冲区 描述 举例 radio 输出通信系统的日志包含无线装置/电话相关消息 logcat -b radio events 输出event模块的日志 logcat -b events main 主日志缓冲区默认不包含系统和崩溃日志消息 logcat -b main system 输出系统日志 logcat -b system crash 输出崩溃日志 logcat -b crash all 输出所有缓冲区日志 logcat -b all default 输出main、system、crash缓冲区日志 logcat -b default
缓冲区模型 logcat命令参数 参数 含义 举例 -b 加载⼀个可使⽤的⽇志缓冲区供查看⽐如 event和 radio 。默认值是 main logcat -b system -B 以二进制文件形式输出日志 -c 清除缓冲区中的全部⽇志并退出清除完后可以使⽤ -g 查看缓冲区默认清除 main、system 和 crash logcat -clogcat -b all -c -d 将缓冲区的 log 转存到屏幕中然后退出 logcat -d log.txt -f file 将 log 输出到指定的⽂件中 ⽂件名 . 默认为标准输出 stdout logcat -f sdcard/log.txt -g 打印⽇志缓冲区的大小并退出 logcat -g -G 设置日志环形缓冲区的大小可以在结尾处添加 K 或 M logcat -G 2M -n count 设置⽇志的最⼤数⽬默认值是 4 需要和 -r 选项⼀起使⽤ -r kbytes 每时输出⽇志默认值是 16 需要和 -f 选项⼀起使⽤ logcat -f sdcard/log.txt -r 1 -s 输出指定 tag 的日志相当于过滤器表达式 *:S logcat -s tag -S 在输出中包含统计信息以识别和定位日志垃圾信息发送者 -v format 设置输出格式的⽇志消息。默认是短暂的格式。⽀持的格式列表 logcat -v threadtime -m count 输出 行后退出 logcat -m 5 -D 输出各个日志缓冲区之间的分隔线 logcat -D … -e expr 输出正则匹配的日志消息 logcat -e [匹配数据] -m 5 -t count 仅输出最新的行数此选项包括 -d 功能 logcat -t 5 -t time 输出自指定时间以来的最新行此选项包括 -d 功能 logcat -t ‘01-26 20:52:41.820’ --pidpid 仅输出来自给定 PID 的日志 logcat --pid4321 ⼀般⻓时间输出 log 的话建议 -f -n -r 三个参数连⽤这样当⼀个⽂件⽇志输出满了之后可以⻢上在另⼀个中进⾏输出。 Android 日志系统为日志消息保留了多个环形缓冲区但并非多有的日志消息都会发送到默认的环形缓冲区。 logcat -b 是 logcat 命令的一个选项用于指定查看日志缓冲区。你可以用它来查看不同类型的日志缓冲区。下面是基本用法 logcat -b events|grep -E am_proc_start|input_focus.*entering
基本命令格式
shCopy Code
adb logcat -b buffer
选项说明 main: 默认缓冲区包含大多数应用程序和系统日志。 system: 系统日志缓冲区包含系统服务和硬件相关日志。 events: 事件日志缓冲区记录系统事件和调试信息。 crash: 崩溃日志缓冲区记录应用崩溃的信息。 示例用法 查看主缓冲区日志
shCopy Code
adb logcat -b main 查看系统缓冲区日志
shCopy Code
adb logcat -b system 查看事件缓冲区日志
shCopy Code
adb logcat -b events 查看崩溃缓冲区日志
shCopy Code
adb logcat -b crash
这些选项帮助你根据需要过滤和查看不同类型的日志数据。
logcat格式化输出
参数说明
⽇志消息包含⼀个元数据字段除了标签和优先级您可以修改输出显示⼀个特定的元数据字段格式的消息。为此您使⽤-v 选项来指定⼀个⽀持的输出格式。⼀下为⽀持的格式 格式 含义 brief 显示优先级 / 标记和过程的 PID 发出的消息默认格式 process 只显示PID tag 只显示优先级/标记 raw 显示原始的⽇志消息没有其他元数据字段 time 调⽤显示⽇期、时间、优先级 / 标签和过程的 PID 发出消息 thread 旧版格式显示优先级、PID 以及发出消息的线程的 TID threadtime 调⽤显示⽇期、时间、优先级、标签遗迹 PID TID线程发出的消息 long 显示所有元数据字段与空⽩⾏和单独的消息 color 使用不同的颜色来显示每个优先级 descriptive 显示日志缓冲区事件说明。此修饰符仅影响事件日志缓冲区消息不会对其他非二进制文件缓冲区产生任何影响 epoch 显示自 1970 年 1 月 1 日以来的时间以秒为单位 uid 如果访问控制允许则显示 UID 或记录的进程的 Android ID usec 显示精确到微秒的时间 UTC 显示 UTC 时间 year 将年份添加到显示的时间 zone 将本地时区添加到显示的时间
当 logcat 开始指定想要输出格式 -v 选项
[adb] logcat [-v ]
adb logcat –v thread
只能指定⼀个输出格式 -v。
logcat优先级
按日志级别过滤日志
adb logcat tag[:priority] tag 表示标签priority 表示输出级别 日志默认级别是 V如果错误日志我们选择 E 就可以Android 的日志分为如下几个优先级priority 选项 描述 举例 V –Verbose最低优先级 adb logcat *:V D – Debug adb logcat *:D I – Info adb logcat *:I W – Warning adb logcat *:W E – Error adb logcat *:E F – Fatal adb logcat *:F S – Silent adb logcat *:S *可以是某个tag如果没有指明就表示所有。