adb 获取日志命令-史上最全

adb 获取日志命令

adb logcat 获取的是日志buffer中从头到尾的日志,并且最新的日志会持续写入。历史日志多少取决于缓冲区大小,并且我们可以通过参数过滤掉无用的日志。可以使用xlog框架将历史日志保存(可以研究下源码)。

日志打印不了

插拔重启

日志缓冲区修改最大

usb驱动查看

adb重启,端口占用

adb bugreport // 将日志打包成zip到当前电脑目录

adb logcat > log. txt 右箭头是保存到文件

adb logcat抓取日志: adb logcat –help

用法: logcat [options] [filterspecs]

options包括:

-s 过滤TAG

-f 输出日志到到手机的sd卡

-v 设置日志消息的输出格式

 brief — 显示优先级/标记和原始进程的PID (默认格式)

 process — 仅显示进程PID

 tag — 仅显示优先级/标记

 thread — 显示优先级/标记,消息线程的PID和TID

 raw — 显示原始的日志信息,没有其他的元数据字段

 time — 显示日期,调用时间,优先级/标记,PID

 threadtime — 显示日期,调用时间,优先级/标记以及发出消息的线程的PID和TID

 long — 显示所有的元数据字段并且用空行分隔消息内容

-c 清除缓存区的日志,Clear (flush) the entire log and exit

-b 查看日志消息的缓冲区, 包括’main’,‘system’, ‘radio’, ‘events’, ‘crash’, ‘default’ or ‘all’

–pid= 打印指定进程的日志

-B 输出log到二进制中

-r设置缓冲区大小

-g得到缓冲区大小

-d得到所有日志并退出

-n设置环形缓冲区的最大数目,一般是4

filterspecs格式:

[:priority]:不指定的话,默认就是所有级别的所有日志

日志的优先级,从低到高:

V — Verbose (lowest priority, 冗长的) 对应于Log.v(tag)系列函数

D — Debug (调试用) 对应于Log.d()系列函数

I — Info(线上用) 对应于Log.i()系列函数

W — Warning(警告日志) 对应于Log.w()系列函数

E — Error (发生错误) 对应于Log.e()系列函数

F — Fatal (What a Terrible Failure,引起程序崩溃)对应于Log.wtf()系列函数

S — Silent (highest priority, on which nothing is ever printed)

用法举例:

adb logcat -s ActivityManager [打印TAG为ActivityManager的日志]

adb logcat -v time -s ActivityManager [日志的打印格式为time]

adb logcat -c 或adb locat -c all [清除缓存区所有类型的日志]

adb logcat -c main crash [清除缓存区main和crash类型的日志]

adb logcat -b radio [查看包含无线装置/电话相关消息的缓冲区日志]

adb logcat –pid=“2661” [打印进程号是2661的日志]

adb logcat -f /sdcard/log.txt [保存日志到手机的log.txt文件]

adb logcat -s ActivityManager:I WindowManager:W [输出TAG为”ActivityManager”并且优先级大于等于”Info”和TAG为”WindowManager”并且优先级大于等于”Warn”的日志]

一般日志路径

1、安卓全日志获取,不同公司可能自己定义存储在不同路径下

adb pull /data/log/android_logs

/data/anr ANR日志

/data/tombstones 崩溃日志

/data/log/core 内核日志

/data/logcatch

开机log

adb shell dmesg > dmesg.txt

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/04283d7282.html