appium---adb logcat 命令详解

  我们在做app测试的过程中,肯定会遇到需要抓取日志问题,这几天安静也遇到了此问题,后台日志生成的太多了,保存本地了吧,设备多没有这么USB,通过wifi连接又太麻烦,你说这怎么是好?不要着急,我们往下看

adb logcat介绍

adb 是android一个操作命令,前面有讲过----常用的adb命令

logcat 是android一个打印日志的工具,当然也可以通过命令行进行操作。最主要的是不仅仅可以PC端使用,还可以在app内部进行使用

 

logcat原理

格式

[adb] logcat [<option>] … [<filter – spec>] …

PC端使用:

adb logcat

shell模式下使用:

logcat

logcat 命令行参数

参数描述
-b加载一个可使用的日志缓冲区供查看,比如event和radio。默认值是main
-c清除缓冲区中的全部日志并退出(清除完后可以使用-g查看缓冲区)
-d将缓冲区的log转存到屏幕中然后退出
-f 将log输出到指定的文件中<文件名>.默认为标准输出(stdout)
-g打印日志缓冲区的大小并退出
-n 设置日志的最大数目<count>,默认值是4,需要和-r选项一起使用
-r 没<kbytes>时输出日志,默认值是16,需要和-f选项一起使用
-s设置过滤器
-v 设置输出格式的日志消息。默认是短暂的格式。支持的格式列表

 

 

 

 

 

 

 

 

 

 

 

 

 

PC端使用

pc端使用肯定是结合这adb进行使用

# 查看日志
adb logcat 

# 过滤关键字日志 win用find  mac 用grep 
adb logcat | find "xxxxx"

# 保存日志
adb logcat >路径\名称.txt

# 保存过滤日志
adb logcat >find "xxxx" >路径\名称.txt

# 清空缓存日志
adb logcat -c

# 打印缓冲区大小并退出
adb logcat -g

接下来就是重点了,也是这个地方帮我解决了问题。

 

app端

在app端使用的时候必须要通过adb shell 进入到app内中,进入adb shell 其实就是android的终端(也就是liunx系统中,就可以敲命令了)

我们通过几个需求来了解app端的log使用方法:

需求1:实时过滤“XXX”日志并保存下来

PC端的方法上面已经写过了可以参考下,app端的可以这样写

# app端保存日志
logcat -s 标签名 -f /app内存路径/名称.txt

# 通过保存在app中,然后再通过adb pull 提取出来

我们知道在PC端中-s是过滤关键字,但是这个地方不是,这个地方是过滤的日志标签名(就是打印日志前面写的标签类型)

 

需求2:不连接usb实时保存日志

可能会有人想通过wifi连接,但是如果我们的app不在办公室测试的时候怎么通过wifi连接呢?

# 不一直连接usb实时抓取日志

logcat -s 标签名 -f /路径/名称.txt &

# & 表示后台运行

通过这个命令,只要手机不关机,命令就会一直进行中,这样我们不用实时连接USB也能实时抓取日志了

注意:app的命令必须要进入到adb shell 的状态下

 

就是这个命令帮助了安静解决了领导的要求, 监控的设备多了,还不用连接USB。只需要2行命令,多么简单,快去尝试下吧~~~

 

转载于:https://www.cnblogs.com/qican/p/11379148.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值