Android日志系统提供了记录和查看系统调试信息的功能。日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过 logcat 命 令来查看和使用。

adb logcat 命令格式 : adb logcat [选项] [过滤项], 其中 选项 和 过滤项 在 中括号 [] 中, 说明这是可选的。

adb logcat 调试命令繁多,不易记忆,下面结合Android apk工程调试中常用的logcat命令进行介绍,以利于Android apk的开发与调试。

其中几个比较常用命令:

  • adb logcat -c                                          --清除所有以前的日志
  • adb logcat -s tag_name                      --设置过滤选项,仅输出标签为tag_name的日志
  • adb logcat -v format                              --设置日志的输出格式。

adb logcat -v time                                      --显示格式 "日期 时间 优先级 / 标签 (进程ID) : 进程名称 : 日志信息 "

adb logcat -v thread                                  --显示格式
" 优先级 ( 进程ID : 线程ID) 标签 : 日志内容 "

adb logcat -v brief                                      --默认的日志格式" 优先级 / 标签 (进程ID) : 日志信息 "

adb logcat -v process                               --显示格式 " 优先级  (进程ID)   日志信息 "

adb logcat -v tag                                        --显示格式 " 优先级 / 标签 : 日志信息"

adb logcat -v raw                                       --显示格式只输出日志信息, 不附加任何其他 信息, 如 优先级 标签等,

adb logcat -v long                                     --显示格式 " [ 日期 时间 进程ID : 线程ID 优先级 / 标签] 日志信息 "

  • adb logcat -t n                                       --设置日志输出的最大数目

adb logcat -t 5              
--显示最近的5行日志

在进行Android apk 调试时,往往需要查看某些与apk相关的日志信息,因此需要进行过滤以获取简明有效的信息。接下来对logcat的过滤项进行详细说明。

过滤项格式

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

日志等级(priority)有:

  • V : Verbose (明细);
  • D
    : Debug (调试);
  • I
    : Info (信息);
  • W
    : Warn (警告);
  • E
    : Error (错误);
  • F
    : Fatal (严重错误);
  • S
    : Silent(Super all output) (最高的优先级, 可能不会记载东西);

接下来举例说明:

1、过滤指定等级日志

使用 adb logcat *:E 命令, 显示 Error 以上级别的日志。

2、过滤指定标签等级日志

使用 adb logcat WifiHW:D *:S 命令进行过滤;

-- 命令含义 : 输出10条日志, 日志是 标签为 WifiHW, 并且优先级 Debug(调试) 等级以上的级别的日志;

--注意 *:S : 如果没有 *S 就会输出错误;

3、可以同时设置多个过滤器

使用adb logcat WifiHW:D dalvikvm:I *:S 命令, 输出 WifiHW 标签 的 Debug 以上级别 和 dalvikvm
标签的 Info 以上级别的日志;

为了更为精确的获取调试的信息,还可以使用管道过滤日志

过滤固定字符串

过滤固定字符串 : 只要命令行出现的日志都可以过滤, 不管是不是标签;

-- 命令adb logcat | grep Wifi ;

命令说明:在日志中过滤出有字符串“Wifi”的日志进行显示。

使用logcat命令将日志信息输出至文本文档中:

  adb logcat -v time > filename.log

  adb logcat -s tag > filename.log

  adb logcat *:E > filename.log

  adb logcat | grep "info" > filename.log

注意:filename.log的存储路径。

adb logcat调试中常用的命令介绍的更多相关文章

  1. Vim中常用的命令行

    Vim中常用的命令行... ------------------- 一些真正强大的武器总不是那么容易驾驭的,主角总得付出一些努力才能收获到更加强大的力量,对于 Vim 这种上古神器来说更是如此.由于它 ...

  2. GIT中常用的命令

    最近项目中使用到了GIT,所以记录一下GIT中常用的命令. GIT使用的客户端有Git Bash:http://code.google.com/p/msysgit/ 还有乌龟TortoiseGit:h ...

  3. 工作中常用Linux命令--服务器运维

    工作中常用Linux命令--服务器运维 lsof查看端口使用情况 lsof -i:8080更多lsof命令使用说明:http://www.cnblogs.com/peida/archive/2013/ ...

  4. :整数 跳转到该行 Vim中常用的命令

    :set nu 显示行号 :set nonu 不显示行号 :命令 执行该命令 :整数 跳转到该行 :s/one/two 将当前光标所在行的第一个one替换成two :s/one/two/g 将当前光标 ...

  5. 在android系统调试中使用tinyalsa命令【转】

    本文转载自:http://blog.csdn.net/tangdexi112/article/details/17579021 我们在进行音频调试的时候,需要使用tinymix.tinyplay.ti ...

  6. Linux系统中常用的命令汇总

    日常开发,上线的服务器系统一般都是Linux系统,所以,熟练的掌握常用的命令操作就尤其的重要了 1) 查看某个服务的运行情况 (例如Redis) ps -ef | grep redis //e-显示程 ...

  7. 工作中常用Lixu命令学习笔记

    对于Linux,我是菜鸟,也是在工作中了才开始慢慢接触,用Linux的人都我都会觉得屌屌的,现在把工作中常用的一些Linux命令记录一下,供以后学习和参考. cd 这可能是我觉得Linux最简单的一个 ...

  8. 开发中常用linux命令

    1.创建目录mkdir 创建目录命令,常用的参数-p,递归创建目录 [root@web01 ~]# mkdir /data [root@web01 ~]# mkdir /data/a/b mkdir: ...

  9. vim中常用折叠命令

    最常用3个折叠命令 .反复打开关闭折叠:za (意思就是,当光标处折叠处于打开状态,za关闭之,当光标处折叠关闭状态,打开之) .打开全部折叠:zR .关闭全部折叠:zM 小试折叠: :set fdm ...

随机推荐

  1. 【win8技巧】去掉Win8导航菜单下面的这台电脑其他的文件夹

    win8 删除 上传 下载 这台电脑 左侧导航 另存为中的 视频.图片.文档.下载的方法!落雨 win8 Windows 8.1  默认将视频.图片.文档.下载.音乐.桌面等常用文件夹也显示在其中了, ...

  2. android中的category静态值(转)

    提供将要执行的action的额外信息,一般在隐式地启动activity时需要用到.常见的category如下 CATEGORY_ALTERNATIVE 设置这个activity是否可以被认为是用户正在 ...

  3. uva 10271

    DP  状态转移方程 dp[i][j] = min(dp[i-1][j], dp[i-2][j-1] + w)) dp[i][j] 指的是前i个筷子组成j组所花费的最小值 考虑第i个筷子是否参与第j组 ...

  4. 【无聊放个模板系列】BZOJ 3172 (AC自动机)

    #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...

  5. 版本管理工具介绍—Git篇

    前篇 如题,提起版本管理工具相信做C#开发 还是对Git比较陌生  我们可能更熟悉vss.svn 记录此文的目的 更是为以后的前段学习做基础  现在的技术比如nodeJs  angularJs ==都 ...

  6. javaweb学习总结(四十七)——监听器(Listener)在开发中的应用

    监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听 ...

  7. 将 Qt 5.6 集成至 VS2015

    摘要: 由于VS2015不再支持addin,所以要用其他手段. 这里给出64位系统下的安装步骤,32位类似. 一.安装VS2015 过程略.值得注意的是要选择需要安装的内容,既然要用Qt,那么C++相 ...

  8. js setTimeout深度递归后完成回调

    setTimout原型: iTimerID = window.setTimeout(vCode, iMilliSeconds [, sLanguage])     setTimeout有两种形式 se ...

  9. 转:JS日期加减,日期运算

    原文 出处http://hi.baidu.com/tonlywang/item/685fba8933a2a756e73d1950 一.日期减去天数等于第二个日期 function cc(dd,dadd ...

  10. caffe简易上手指南(三)—— 使用模型进行fine tune

    之前的教程我们说了如何使用caffe训练自己的模型,下面我们来说一下如何fine tune. 所谓fine tune就是用别人训练好的模型,加上我们自己的数据,来训练新的模型.fine tune相当于 ...