使用Logcat查看/输出日志信息

Logcat查看/输出日志信息

 

引言:

学过JavaSE的同学都知道,运行java程序时,我们在Eclpise可以通过Console控制台看到程序的输出信息

但是在android中的话,console只能看到这些信息:

这些信息都是程序都是程序安装到虚拟机上的信息而已

 

使用Logcat查看/输出日志信息_第1张图片

 

因为我们的程序是在android虚拟机(AVD)中运行的,所以我们需要使用Logcat日志工具才可以看到程序的运行情况

 

Logcat在哪呢?

单机菜单栏的windows--->  show view -->other -->android --->Logcat

 

使用Logcat查看/输出日志信息_第2张图片

使用Logcat查看/输出日志信息_第3张图片

 

怎么查看Logcat的日志信息

首先我们要知道日志的信息类型有五种:

优先级依次是:ERROR(错误)  >  WARN(警告)  >INFO(提示)  >DEBUG(调试)  >VERBOSE(冗长,啰嗦的提示)

 

选择类型信息的位置:

使用Logcat查看/输出日志信息_第4张图片

 

通常我们看的都是error类型的提示信息,一般致命的错误才会导致程序的终止运行

另外:隔壁的按钮依次是:           保存日志              清空日志信息      是否显示查询栏     将滚动条滑动到底部     

 

 

 

演示一下如何通过日志信息查找出程序出现的错误

我们在mainActivity中定义一个TextView,并没有通过FindViewByID实例化

代码:

[java]  view plain copy
  1. package com.jay.logcatdemo;  
  2.   
  3. import android.os.Bundle;  
  4. import android.widget.TextView;  
  5. import android.app.Activity;  
  6.   
  7. public class MainActivity extends Activity {  
  8.   
  9.     private TextView text;  
  10.       
  11.     @Override  
  12.     protected void onCreate(Bundle savedInstanceState) {  
  13.         super.onCreate(savedInstanceState);  
  14.         setContentView(R.layout.activity_main);  
  15.         //这里的我们之前定义的TextView并没有实例化,我们这里就直接给他赋值了  
  16.         //会报空指针异常  
  17.         text.setText("呵呵!");  
  18.     }  
  19. }  


当我们运行后,程序出现了这样的提示框,接着自己就关闭了

使用Logcat查看/输出日志信息_第5张图片

 

接着看下我们的Logcat

使用Logcat查看/输出日志信息_第6张图片

这么多的红字,不知道的人还以为自己的程序出什么大错误了,当然现在的错误信息也不算多

 

看logcat的小窍门:

使用Logcat查看/输出日志信息_第7张图片

只需要看FATAL EXCEPTION:main后的第一二行错误就可以初步判段大概出现了什么错误,接着向下看,找到自己包开头的错误,双击即可来到出错的大概位置

双击后:

 

!!笔者建议:!!

看日志信息不是一天养成的,写的代码多了,遇到的问题就会更多,遇到更多的错误,这就是你提升的过程

当积累到一定程度,你一眼就可以看出代码哪里出错了,比如很多时候我们会漏掉activity的配置,很多人纠结久,一直检查代码也找不出错误所在....

所以,多写代码吧,孩子,o(╯□╰)o

 

自定义输出日志信息

五种输出不同日志信息的方法:

参数都是:

String tag:调试信息标签名称

String tag:自定义的调试信息

 

VERBOSE:         Log.v(String tag, String msg);

DEBUG:              Log.d(String tag, String msg);

INFO:                   Log.i(String tag, String msg);

WARN:                Log.w(String tag, String msg);

ERROR:              Log.e(String tag, String msg);  

 

直接是单词的首字母不同而已

 

代码演示:

[java]  view plain copy
  1. package com.jay.logcatdemo;  
  2.   
  3. import android.os.Bundle;  
  4. import android.util.Log;  
  5. import android.widget.TextView;  
  6. import android.app.Activity;  
  7.   
  8. public class MainActivity extends Activity {  
  9.   
  10.     private static final String TAG = "JAY-tag";  
  11.       
  12.     @Override  
  13.     protected void onCreate(Bundle savedInstanceState) {  
  14.         super.onCreate(savedInstanceState);  
  15.         setContentView(R.layout.activity_main);  
  16.         try {  
  17.             testLog();  
  18.         } catch (Throwable e) {  
  19.             // TODO Auto-generated catch block  
  20.             e.printStackTrace();  
  21.         }  
  22.     }  
  23.       
  24.     public void testLog(){  
  25.         Log.i(TAG, "output info tag!");  
  26.     }  
  27. }  


运行后查看logcat:

使用Logcat查看/输出日志信息_第8张图片

 

 

如果信息太多怎么办?

我们可以通过TAG筛选对应的日志信息

点击左边的

使用Logcat查看/输出日志信息_第9张图片

点击后:

使用Logcat查看/输出日志信息_第10张图片

 

OK后就可以找到TAG = JAY-tag的日志信息了

 

 

这些都是很简单的东东

另外还有可以通过system.out输出,默认是INFO类型的

                                system.err输出,默认是ERROR类型的

你可能感兴趣的:(android学习日记)