正文  环境搭建 > 日志/Logcat >

android调试之查看日志文件技巧

编程调试是每一个编程人员必备的编程技巧,而在编程调试中,我们最最常用也是最最有效的的调试方法之一就是输出信息,有过java编程经验的同学应该知道,在java再发的过程中,我们经常会通过在程序可能出现问题的......

 编程调试是每一个编程人员必备的编程技巧,而在编程调试中,我们最最常用也是最最有效的的调试方法之一就是输出信息,有过java编程经验的同学应该知道,在java再发的过程中,我们经常会通过在程序可能出现问题的位置处通过

System.out.println("aaaaaaaaaaaaaaaaaaaaaaa");
输出调试信息来调试程序,通过console控制台,我们就可以轻易得知我们的程序到目前位置处是否运行正常
然而,当我们转战android时,我们发现,通过单纯的System.out我们已经没有办法在console获取信息,为了获取必要的调试信息,我们要用到android的LogCat工具

 

下面我 们来看一下android开发中如何查看app运行日志:
1.在android开发中,我们依然可以使用System.out来经行调试信息的输出,只是这时的调试信息不再console中,而是在LogCat中;
2.我们也可以使用andorid工具包中的Log类来经行必要调试信息的输出。
官方解释:Generally, use the Log.v() Log.d() Log.i() Log.w() and Log.e() methods.
The order in terms of verbosity, from least to most is ERROR, WARN, INFO,
DEBUG, VERBOSE. Verbose should never be compiled into an application except
during development. Debug logs are compiled in but stripped at runtime. Error,
warning and info logs are always kept.
当我们要输出信息时,直接使用Log中提供的Log.v() Log.d() Log.i() Log.w() and Log.e()即可

@Override
protected void onResume() {
  Log.i(Tag, "first activity--------onResume()");
  System.out.println("first activity--------onResume()");
  super.onResume();
}

 @Override
protected void onStart() {
  Log.i(Tag, "first activity--------onStart()");
  System.out.println("first activity--------onStart()");
  super.onStart();
}

 @Override
protected void onStop() {
  Log.i(Tag, "first activity--------onStop()");
  System.out.println("first activity--------onStop()");
  super.onStop();
}

 @Override
protected void onCreate(Bundle savedInstanceState) {
  Log.i(Tag, "first activity--------onCreate()");
  System.out.println("first activity--------onCreate()");
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
}


我们已经把调试信息输出,那么我们应该如何更好的查看这些信息呢:
首先我们要打开eclipse的LogCat窗口,当我们运行一个app时,我们可以看到这个窗口一次会输出很多信息,大多数信息对于我们来说是不需要 的,为了更快的得到我们期望的信息,这里我们就要用到日志过滤器filter,如下图所示,通过加号,我们就可以新建一个过滤器了

新建如下:

如:当你想看System.out的信息时,在Filter Name处填System.out(这里注意,这个名字是随便填写的)
     在by Log Tag处填写:System.out这个是System.out.println在android中的Tag标志
     当你想看Log输出的信息时,比如你输出的信息是:Log.d("Test","this is a Test");

     在Filter Name处填写:Testaa,在by Log Tag处填写:Test.