Android中的日志工具类是Log(android.util.Log),这个类中提供以下5个方法来供我们打印日志;
1、Log.v( ); 用于打印那些最为琐碎的、意义最小的日志信息。对应级别verbose,是android日志中级别最低的一种。
2、Log.d( ); 用于打印一些调试信息,这些信息对你调试程序和分析问题应该是有帮助的。对应级别debug,比verbose高一级。
3、Log.i( ); 用于打印那些比较重要的数据,这些数据应该是你想看见的、可以帮助你分析用户的行为数据。对应级别info,比debug高一级。
4、Log.w( ); 用于打印一些警告信息,提示程序在这个地方可能会有潜在风险,最好去修复。对应级别warn,比info高一级。
5、Log.e( ); 用于打印程序中的错误信息,比如程序进入到了catch语句中。当有错误信息打印时,一般代表你的程序出现严重问题了,必须尽快修复。对应级别error,比warn高一级。
!!!每个方法都有不同的重载。项目开发中不建议使用System.out.println()打印日志。
快捷输入:
在Android studio中,想打印一条debug级别的日志,那么只需要输入logd,然后按下Tab键,就会帮助你自动补全一条完整的打印语句,以此类推。
另外,由于Log的所有打印方法都要求传入一个tag参数,每次写一遍太麻烦。我们在onCreate()方法的外面输入logt,按下Tab键,这是就会以当前类名作为值自动生成一个TAG常量,如下所示:
public class CheckBoxActivity extends AppCompatActivity {
private static final String TAG = "CheckBoxActivity";
过滤器:
logcat中可以添加过滤器,如下图:
当前只有三个过滤器,Show only selected application表示只显示当前选择程序中的日志,Firebase是谷歌提供的一个分析工具,可以不用管他。No Filters就是没有过滤器,会把所以日志都显示出来。当然我们还可以自定义过滤器:点击Edit Filter Configuration,会弹出一个过滤器配置界面。
日志级别主要有五个级别(上面讲了的),当选择verbose时,这意味着不管我们使用哪一个方法打印日志,这条日志都会显示,即:选中级别及更高级别的日志都将会显示
关键字过滤
在输入框中输入关键字的内容,这样只有符号关键字条件的日志才会显示出来。关键字过滤支持正则表达式。