LogCat 是 Android 中一个命令行工具,可以用于得到程序的 log 信息,本附录讲解其使用方法和其中的一些技巧。
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 将出现在发布版本中。
对于 Java 类,可以声明一个字符串常量 TAG , LogCat 可以根据 它 来区分不同的 log , 例如 , 在计算器( Calculator )的类中,定义如下所示:
public class Calculator extends Activity {
/* ...... */
private static final String LOG_TAG = "Calculator";
private static final boolean DEBUG = false;
private static final boolean LOG_ENABLED = DEBUG ? Config.LOGD : Config.LOGV;
/* ...... */
由此,所有在 Calculator 中使用的 log ,均以 “ Calculator ” 为开头。
图 利用 LogCat 查看日志信息