app测试——打印日志

目录

日志的抓取与清除

日志过滤

级别过滤

标签过滤

使用管道过滤和重定向

日志乱码

抓取指定app应用日志 


日志的抓取与清除

  • 抓取:adb logcat
  • 清除:adb logcat -c

adb logcat -c && adb logcat   清除之前的日志数据后在打印日志,可以减少日志数据的冗余,每次抓取日志前将之前的日志数据清除

日志过滤

格式:adb logcat <tag>[:priority]

tag表示标签,priority为输出级别,如果要根据级别查看时tag一定要给,如果没有指定,tag必须用*代替

级别过滤

adb logcat *:E    (不区分大小写)

  • V —— Verbose 明细(最低优先级)
  • D —— Debug 调试
  • I —— Info 信息
  • W —— Warn 警告
  • E —— Error 错误
  • F —— Fatal 严重错误
  • S —— Silent 无记载(最高优先级,没有内容被记载)

标签过滤

指定标签打印,后面一定是*:S结尾

adb logcat tagname:*:s

查看手机日志的tag:adb logcat -v tag       输出格式:<priority>/<tag>: <message> 

日志打印格式

  • 按时间打印:-v time
  • 按标签打印:  -v tag
  • 按照进程与线程ID打印:-v thread                 (显示I、D、E等级的日志)

使用管道过滤和重定向

管道过滤 

Linux:使用grep

  • adb logcat | grep 过滤内容     
  • adb logcat | grep -i 过滤内容      # -i表示忽略大小写

windows不能使用grep关键字,用findstr

  • adb logcat | findstr 过滤内容

findstr更多用法可查看网上资料

重定向

将输出的日志内容重定向到文件中

adb logcat  >  D:/log.txt

PS:

查看某进程使用内存情况:adb shell dumpsys meminfo 进程名

查看service列表adb shell service list    

查看进程列表:adb shell ps    

日志乱码

日志乱码,写入错误:

1、查看当前语言编码:chcp

  • ANSI:936
  • utf-8:65001

2、修改编码: CHCP 65001

抓取指定app应用日志 

1、创建一个获取指定app进程的.bat文件,如getpid.bat

@echo off
adb shell ps | grep 包名

2、创建一个获取日志的文件,如getlog.bat,可以将日志内容重定向到指定文件中,具体的要抓取的数据的表达式可以自己去调整

@echo off
for /f  "tokens=2 delims= " %%i in ('getpid.bat') do adb logcat | find  "%%i" > C:/Users/Desktop/app_log.txt
pause

3、将这两个文件放置在adb.exe同文件目录下

4、执行getlog.bat文件就可以得到想要的日志文件

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值