adb logcat查看手机端日志

前言

做app测试,遇到异常情况,查看日志是必不可少的,日志如何输出到手机sdcard和电脑的目录呢?这就需要用logcat输出日志了
以下操作是基于windows平台的操作:adb logcat | find
linux平台的操作可以把find改成grep: adb logcat | grep
windows上的dos里面是没grep指令的

logcat输出日志

1.把日志存入手机sdcard某个目录(前提是这个目录要是存在的)

adb logcat -f /sdcard/danjie/danjie.txt

备注:-f 将日志输出到文件 

上面这个指令在真机上(未root)是会报错的,提示没操作权限,在模拟器上可以执行

2.把日志存入电脑的某个目录,如d:\debug

adb logcat >d:debug\danjie.txt

备注这里没-f, 不要问为什么 

find过滤包名

1.如果直接用adb logcat抓日志的话,会把系统的一些其他无关紧要的都抓出来,如果只想抓取被测app的日志,那就根据包名过滤

adb logcat | find "com.sankuai.meituan" >d:\hello.txt

结束logcat

1.结束logcat抓包,可以用ctr+c快捷键结束, 这个是通过手工的快捷键操作完成

2.也可以先查询到logcat的pip,再kill掉

adb shell ps | findstr logcat

adb shell kill -9 [logcatpid]

注意:kill操作在模拟器上是可以的,真机上没权限

help其它功能

1.cmd输入adb logcat -help可以查看其它功能

adb logcat -help

C:\Users\admin>adb logcat -help
Unrecognized Option h
Usage: logcat [options] [filterspecs]
**选项**:
-- "-s"选项 : 设置输出日志的标签, 只显示该标签的日志;

-- "-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;

-- "-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;

-- "-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;

-- "-v"选项 : 设置日志的输出格式, 注意只能设置一项;

-- "-c"选项 : 清空所有的日志缓存信息;

-- "-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;

-- "-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;

-- "-g"选项 : 查看日志缓冲区信息;

-- "-b"选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;

-- "-B"选项 : 以二进制形式输出日志;

**过滤项格式** : <tag>[:priority] , 标签:日志等级, 默认的日志过滤项是 " *:I " ;

-- V : Verbose (明细);

-- D : Debug (调试);

-- I : Info (信息);

-- W : Warn (警告);

-- E : Error (错误);

-- F : Fatal (严重错误);

-- S : Silent(Super all output) (最高的优先级, 可能不会记载东西);

本文转自:https://www.cnblogs.com/yoyoketang/p/9101365.html
posted @ 2019-04-21 19:42  丹姐blog  阅读(660)  评论(0编辑  收藏  举报