zoukankan      html  css  js  c++  java
  • appium+python自动化53-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/yoyo/yoyo.txt

    备注:-f 将日志输出到文件 # 作者:上海-悠悠 QQ交流群:330467341

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

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

    adb logcat >d:debugyoyo.txt

    备注这里没-f, 不要问为什么 # 作者:上海-悠悠 QQ交流群:330467341

    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:Usersadmin>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) (最高的优先级, 可能不会记载东西);
    
    '*' 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"
    

    上海-悠悠 QQ交流群:330467341

  • 相关阅读:
    成为一名优秀程序员所需要知道的那些事
    程序员致富的若干方法探讨
    解决Flex程序在chrome,safari,IE9等浏览器中history的后退与前进问题
    flex4里的状态(state)
    Flex和Flash定时器 setTimeout & setInterval 使用要点
    Flex十种武器(Flex Power Tools: Explorers)
    给你的组件加一个处理事件的属性
    程序员:增加编程经验的另外3种途径
    Flex常用功能代码
    常用Flex IOC框架比较分析
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/9101365.html
Copyright © 2011-2022 走看看