LogCat是 Android 中一个命令行工具,可以用于得到程序的log信息,结合tee和grep命令可以方便的获取、查看日志。

1、Logcat使用
命令:LogCat [options] [filterspecs]
LogCat的选项包括:
-s 设置过滤器,如指定 '*:s'.

-f <filename> 输出到文件,默认情况是标准输出。
-r [<kbytes>] Rotate log every kbytes. (16 if unspecified). Requires –f。
-n <count> Sets max number of rotated logs to <count>, default 4。
-v <format> 设置log的打印格式, <format> 是下面的一种: brief process tag thread raw time threadtime long。
-c 清除所有log并退出。
-d 得到所有log并退出 (不阻塞)。
-g 得到环形缓冲区的大小并退出。
-b <buffer> 请求不同的环形缓冲区('main' (默认), 'radio', 'events')。
-B 输出log到二进制中。
过滤器的格式是一个这样的串: <tag>[:priority]
其中 <tag> 表示log的component, tag (或者使用 * 表示所有) , priority 如下所示:
V Verbose
D Debug
I Info
W Warn
E Error
F Fatal
S Silent
事实上LogCat的功能是由 Android 的类android.util.Log决定的,在程序中log的使用方法如下所示:
Log.v() -------------------- VERBOSE
Log.d() -------------------- DEBUG
Log.i() -------------------- INFO
Log.w() -------------------- WARN
Log.e() -------------------- ERROR
以上log的级别依次升高,Debug信息应当只存在于开发中,INFO、 WARN、ERROR这3种log将出现在发布版本中。

2、tee使用
功能说明:读取标准输入的数据,并将其内容输出成文件。
语 法:tee [-ai][--help][--version][文件...]
补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。
参 数:
-a或--append 附加到既有文件的后面,而非覆盖它.
-i-i或--ignore-interrupts 忽略中断信号。
--help 在线帮助。
--version 显示版本信息。

3、grep使用
grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文件内容。
grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。
具体命令和语法请参考其他书籍。

4、Logcat、tee和grep结合使用
三者结合到一起可以实现:log日志同时输出到终端和本地文件,对于输出到终端的log按照grep的要求进行过滤显示。
比如:sudo ./adb logcat -v time | tee /home/Linux/main.txt |grep 'accept'——输入 Android 应用层日志到屏幕和main.txt文件,同时过滤屏幕的日志显示包含字符串“accept”的行,以关注自己需要的信息。

更多相关文章

  1. android中使用pull方式解析sdcard中的xml文件实例
  2. adb 发送文件到Android设备和从Android手机复制文件
  3. android 文件下载
  4. Android使用主题配置文件,去掉程序启动界面的短暂黑屏。
  5. 关于Android中的几个文件目录
  6. Android生成Xml文件
  7. Android 生成签名及APK 文件
  8. android input及简单am命令

随机推荐

  1. 近几年,你也没干出满意的成绩吗?
  2. 如何优雅地停止一个线程?
  3. 再来一次高考
  4. 导致并发程序出问题的根本原因是什么?
  5. 讲给前端的正则表达式(1):基本概念
  6. 个人博客搭建
  7. Java 隐式锁 - synchronized 关键字
  8. 什么是守护线程?
  9. 为什么要用并发编程?
  10. Java 中的 volatile 关键字