入职还不到一个月,真的切身感受到了日志工具在工作中的重要性。因为工作的性质是要去帮助用户解决使用产品时出现的问题,日志就成了解决问题的必须手段之一。一般的用户问题都可以通过分析日志、反编译等手段定位,从而推动工作的进度。下面来介绍一下日志工具的使用。
Android中的日志工具类是 Log(android.util.Log),这个类中提供了如下5个方法来供我们打印日志。
一共就五个方法,当然每个方法还会有不同的重载。我们可以在代码中去体验一下。
HelloWorld 很熟悉吧,学习一门新的语言总喜欢用它当敲门砖。打开HelloWorldActivity,在onCreate()方法中添加打印日志的语句,如下所示:
public class MainActivity extends AppCompatActivity {
String msg = "Android : ";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.v(msg, "onCreate execute");
Log.d(msg, "onCreate execute");
Log.i(msg, "onCreate execute");
Log.w(msg, "onCreate execute");
Log.e(msg, "onCreate execute");
}
}
Log.d() 方法中传入了两个参数:第一个参数是 tag,一般传入当前的类名或自定义名称,主要用于对打印信息进行过滤;第二个参数是 msg,即想要打印的具体的内容。
现在可以重新运行一下 HelloWorld 这个项目了,点击顶部工具栏上的运行按钮,或者使用快捷键Shift + F10(Mac系统是control + R),等程序运行完毕,点击 Android Studio 底部的 Logcat,就可以看到打印信息了,如图所示。

还需要关注到的一个点是 Logcat 中的日志级别控制,主要有5个级别,分别对应前面介绍的5个方法。

当前我们选中的级别是 Verbose,也就是最低等级。这意味着不管我们使用哪一个方法打印日志,这条日志都一定会显示出来。而如果我们将级别选中为 Debug,这时只有我们使用 Debug及以上级别方法打印的日志才会显示出来,以此类推。你可以做一下试验,当你把 Logcat 中的级别选中为 Info、Warn 或者 Error 时,我们在 onCreate() 方法中打印的语句是不会显示的,因为我们打印日志时使用的是 Log.d() 方法。日志级别控制的好处就是,你可以很快地找到你所关心的那些日志。
可以在右边的输入框里输入关键字的内容,这样只有符合关键字条件的日志才会显示出来,从而能够快速定位到任何你想查看的日志。另外还有一点需要注意,关键字过滤是支持正则表达式的,有了这个特性,我们就可以构建出更加丰富的过滤条件。