Android adb命令详解及用法系列(四)

本文主要分享如何使用adb输出开发过程中的日志信息,如有错误,欢迎指正。

更多Android技术分享可以关注我的Android技术圈子,也可以加入QQ群号:690347536,学习交流Android开发技能。

一、adb 输出日志信息
  1. 基本使用:
[adb] logcat [options] ... [filter-spec]...
             -b:加载可供查看的备用日志缓冲区.
             -c:清除(清空)所选的缓冲区并退出
             -e /--regex:只输出日志消息与 `` 匹配的行,其中 `` 是正则表达式
             -m /--max-count:输出 `` 行后退出
             --print:与 `--regex` 和 `--max-count` 配对,使内容绕过正则表达式过滤器,但仍能够在
             获得适当数量的匹配时停止
             -d:将日志转储到屏幕并退出
             -f :将日志消息输出写入 ``。默认值为 `stdout`
             -g:输出指定日志缓冲区的大小并退出
             -s:相当于过滤器表达式 `'*:S'`
             -D:输出各个日志缓冲区之间的分隔线
             -t 
  1. 日志等级过滤:

    打印日志优先级从低到高顺序

    • V:详细(最低优先级)
    • D:调试
    • I:信息
    • W:警告
    • E:错误
    • F:严重错误
    • S:静默(最高优先级,绝不会输出任何内容)

    对应代码Log类记录日志中的

    Log.v(String,String);
    Log.d(String,String);
    Log.i(String,String);
    Log.w(String,String);
    Log.e(String,String);
    
  2. 日志输出格式:

    • brief:显示优先级、标记以及发出消息的进程的 PID。
    • long:显示所有元数据字段,并使用空白行分隔消息。
    • process:仅显示 PID。
    • raw:显示不包含其他元数据字段的原始日志消息。
    • tag:仅显示优先级和标记。
    • thread::旧版格式,显示优先级、PID 以及发出消息的线程的 TID。
    • threadtime(默认值):显示日期、调用时间、优先级、标记、PID 以及发出消息的线程的 TID。
    • time:显示日期、调用时间、优先级、标记以及发出消息的进程的 PID

    eg:adb logcat -v thread生成输出格式为thread的消息

  3. 格式修饰符:

    • color:使用不同的颜色来显示每个优先级。
    • descriptive:显示日志缓冲区事件说明。此修饰符仅影响事件日志缓冲区消息,不会对其他非二进制
      文件缓冲区产生任何影响。事件说明取自 event-log-tags 数据库。
    • epoch:显示自 1970 年 1 月 1 日以来的时间(以秒为单位)。
    • monotonic:显示自上次启动以来的时间(以 CPU 秒为单位)。
    • printable:确保所有二进制日志记录内容都进行了转义。
    • uid:如果访问控制允许,则显示 UID 或记录的进程的 Android ID。
    • usec:显示精确到微秒的时间。
    • UTC:显示 UTC 时间。
    • year:将年份添加到显示的时间。
    • zone:将本地时区添加到显示的时间
      格式修饰符依据以下一个或多个修饰符的任意组合更改 Logcat 输出。如要指定格式修饰符,请使用 -v 选 项,如下所示
      eg:adb logcat -b all -v color -d
  4. 查看备用日志缓冲区:

    Android 日志记录系统为日志消息保留了多个环形缓冲区,而且并非所有的日志消息都会发送到默认的环形缓冲区。如要查看其他日志消息,可以使用 -b 选项运行 logcat 命令,以请求查看备用的环形缓冲区。可以查看下列任意备用缓冲区:

    • radio:查看包含无线装置/电话相关消息的缓冲区。
    • events:查看已经过解译的二进制系统事件缓冲区消息。
    • main:查看主日志缓冲区(默认),不包含系统和崩溃日志消息。
    • system:查看系统日志缓冲区(默认)。
    • crash:查看崩溃日志缓冲区(默认)。
    • all:查看所有缓冲区。
    • default:报告 mainsystemcrash 缓冲区。

    更多Android技术分享可以关注我的Android技术圈子,也可以加入QQ群号:690347536,学习交流Android开发技能。

你可能感兴趣的:(Android adb命令详解及用法系列(四))