6.6. Android的日志机制
6.6.Android的日志机制
Android拥有一套系统级的日志机制。在代码的任何位置,都可以调用Log.d(TAG, message)来记录日志。其中的TAG与message都是字符串。TAG是一个标志,通常按照应用的名称、类名、模块名取名字。好习惯是,在类中专门为它定义一个常量,比如:
private static final String TAG = "StatusActivity";
Tip:
在编译之前需要确保已经import了Log类。有关import,Eclipse有个快捷功能可用,那就是选择Source→Organize Imports或按下Ctrl+O,Eclipse即可自动组织代码中的import语句。但是对Log类来说有一点需要注意,那就是它的名字比较常见,也就比较容易产生冲突。这时就需要靠自己的直觉做选择,辨认出正确的import语句。比如在这里,选择Android Log类还是Apache Log类,是很明显的事情。
日志拥有多个级别:.d()表示调试,.e()表示错误、.w()表示警告(warning)、.i()表示信息(info)。有趣的是,还有个.wtf()表示“不该发生的错误”,它的字面意思是“What a Terrible Failure”。Eclipse会按照不同的颜色显示不同级别的日志。
(译者注:在英文社区中,"WTF"是很常见的调侃用语,原意指"What The Fuck"。.wtf()这个方法可以视为Android框架的一个小幽默)
Warning:
Eclipse的Organize Imports工具有时可能会造成难以查找的错误。比如,有时你的工程还没有生成R.java文件,Organize Imports工具就自动插入了一句import android.R,这是因为Android框架中也有个R类与你的R类重名。因此若看到R资源文件相关的编译错误,不妨检查下是不是把android.R也给import了。