Log(android.util.log)是Android Studio中的日志工具类
熟练使用log会对你以后的Android开发之旅有很大的帮助。
log类有五个方法,分别是(级别由低到高):
1.Log.v():打印一些最为繁琐、意义不大的日志信息
2.Log.d():打印一些调试信息(logd+tab)
3.Log.i():打印一些比较重要的数据,可帮助你分析用户行为数据(logi+tab)
4.Log.w():打印一些警告信息,提示程序该处可能存在的风险(logw+tab)
5.Log.e():打印程序中的错误信息(loge+tab)
(这五个方法都可以进行重载)
Log的所有打印方法都要传入一个tag参数,每次都写一遍显然太麻烦,这里有个小技巧:在onCreate()方法的外面输入logt,然后按下Tab键,这时就会以当前的类名作为值产生一个tag常量,如:
public class MainActivity extends AppCompatActivity{
private static final String TAG = "MainActivity";
}
我们开发一个软件需要编写的代码量是很庞大的,当你打印出来的日志是成千上百行时,我们就需要对其进行筛选,而log的过滤器则可以帮助我们实现筛选。
图为AS中的Show only selected application过滤器
除了AS给出的过滤器外,我们还可以输入关键字通过Edit Filter Confoguration进行自定义过滤器,从而只打印关键字相关的日志。
Log是理解程序,分析程序Bug的神兵利器。 相信熟用AS的日志工具log能使你在Android开发的旅途中事半功倍。log的重要性会在软件项目的测试阶段体现得尽致。
===========================================================
写了一个Demo:
(1)定义一个自定义的类MyLog,存放自定义调用Log的方法
package com.ts.demo.carlibtest;
import android.util.Log;
/**
* @author lu
* @date 2020/11/17
*/
public class MyLog {
//定义DEBUG,用于控制log是否允许被打印
public static final boolean DEBUG=true;
/**log分等级
* 等级越高,打印出的信息越少
* 等级越低,打印出的信息越多
*/
//定义几种方法,用于输出对应log
public static void d(String tag,String message){
if(DEBUG){
Log.d(tag,message);
}
}
public static void w(String tag,String message) {
if (DEBUG) {
Log.w(tag, message);
}
}
public static void e(String tag,String message) {
if (DEBUG) {
Log.e(tag, message);
}
}
public static void i(String tag,String message) {
if (DEBUG) {
Log.i(tag, message);
}
}
}
(2)回到代码中,打log
注:
tag是log的一个标记,方便查找
message是你想要的信息内容
一、在对应的一个MainActivity类中添加一个TAG:
public final static String TAG = "MainActivity";
二、在需要打log的代码处调用MyLog类中打log的方法:
MyLog.d(TAG,XXX.get(i)+" ");
(3)切到Logcat查看Log(可输入MainActivity过滤一下,即TAG标记名)
根据log判断代码哪边出现了问题。