【Android测试】【第五节】LogCat——命令行

 版权声明:本文出自胖喵~的博客,转载必须注明出处。

    转载请注明出处:http://www.cnblogs.com/by-dream/p/4684123.html

 

 

前言


  上一篇将的是如果在eclipse中的Logcat进行Log的查看和过滤,很多的时候我们面临着这样的问题:

  如果你的app需要在室外才可以运行(例如使用地图软件中的导航),室外可能不方便去携带电脑,此时你又想保存log,那么你该如何去做呢?本节就来解决这个问题。

 

预备知识


   首先还是先了解一下上节没有提到的知识,我觉得还是比较重要的,就是log分类的几种级别(prority):

  v (verbose)
  d (debug)
  i  (information)
  w (warning)
  e (error)

  这几种日志的级别从上到下优先级越来越高,也就是说如果你过滤v,那么所以的日志都会出来,如果你过来e,那么只会出现e的日志

  

命令行


   在shell命令中输入logcat后 

  可以看到和eclipse中的logCat的效果是一样的,它会实时的将手机当中的log给刷出来,如果你不给它停止的命令,它就会一直的在这里刷啊刷啊。

  LogCat的命令具体使用的方法,可以参考文档:http://developer.android.com/intl/zh-cn/tools/help/logcat.html

  个人感觉里面有很多的用法对我没什么大用处,所以我就这里不介绍了,我只介绍一些大部分会用到的比较实用的功能:

  一、log重定向到pc

    这个其实没啥难度就是使用了windows命令行的 重定向符(“>” “>>”),这两者的区别就是一个是覆盖,一个是叠加。

    这样就将log重定向到了C盘下:

    ps.我用的是应用宝的tadb,你们只需把tadb改成adb运行即可

  二、log重定向到手机

    原理和上面差不多,只不过是需要是手机的shell命令下进行执行。

  将log保存在手机存储根目录下的tmp文件中了:

  三、按格式显示log

    这需要用到logcat中的 -v 选项

      用法为  logcat [-v <format>]

      brief — 显示priority/tag,产生日志的进程的id,和日志消息本身。它是日志默认的输出格式。
      process — 显示priority,产生日志的进程的id,和日志消息本身
      tag — 显示prority/tag,和消息本身
      thread — 显示priority,线程和日志消息本身
      raw — 只显示消息本身
      time — 显示产生日志的时间,prority/tag,产生日志的进程Id,和日志消息本身。
      long — 显示产生日志的时间,prority/tag,产生日志的进程Id,和日志消息本身。但是日志消息本身另其一行进行显示。每个日志之间空一行。

    prority 代表的就是 D、V、E、W等。看个例子吧:

   

  四、按tag过滤log

    按照tag过滤的格式是这样的: logcat [[tag:prority] [tag:prority] *:S]

    支持多个tag同时在一起过滤,其中 “*:S” 代表的是将过滤的tag内容显示出来。直接看例子吧:

  

工具介绍


   目前业内这块做的比较好的,非腾讯GT莫属了,我们可以在应用宝下载最新版的GT:

 

  安装好之后,点击进入第四个选项 “日志”,打开logcat的开关,同时在菜单中打开 “GT日志自动保存”

      

  这样GT就会为你自动保存log,目录就在 “手机存储卡” - GT - Log 的文件夹下:

  当一个文件写满之后,就会再往另一个文件里写,文件名字就是数字依次类推。

  使用GT我们就可以实现脱机抓log了。

 

posted @ 2015-07-28 19:17  胖喵~  Views(2022)  Comments(2Edit  收藏  举报