Android--掌握日志工具的使用
程序员文章站
2022-03-28 11:10:41
...
Android–掌握日志工具的使用
我相信很多java新手都非常喜欢使用System.out.println()方法来打印日志,不过在真正的项目中是极度不建议使用该方法的。因为这种方法缺点太多了,比如日志打印不可控制、打印时间无法确定、不能添加过滤器等等。掌握日志工具的使用,对开发有极大的帮助,下面就开始介绍一下日志工具的使用。
Android中的日志工具类是Log(android.util.Log),这个类中提供了如下如下五个方法:
- Log.v() 用于打印意义比较小的消息,对应级别verbose
- Log.d()用于打印一些调试消息,一些对你调试程序和分析问题有帮助的消息。对应级别debug,比verbose高一级
- Log.i() 用于打印一些比较重要的数据。对应级别info,比debug高一级
- Log.w() 用于打印一些警告消息。对应级别warn,比info高一级
- Log.e() 用于打印程序中的错误信息,比如程序进入到了catch语句中。对应级别error,比warn高一级
现在建一个新的Android程序,来试试日志工具的使用。
1、打开MainActivity,在onCreate()方法中添加一行打印日志的语句,如下所示:
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(TAG,"onCreate execute");
}
Log.d()方法中传入了两个参数:第一个参数是tag,主要用于日志过滤;第二个参数是msg,就是日志内容。
运行程序,点击底部Android Monitr,在logcat中就可以看到打印消息了,如下所示:
2、logcat中可以很轻松的添加过滤器,点击Edit Filter Configuration就是配置过滤器,下图是过滤器配置界面,你可以根据tag、massage等进行过滤。
如果你感觉不到过滤器带给你的好处,那当你的程序打印出成百上千行日志的时候,你就会迫切需要过滤器了。
3、我们还可以自己编写一个日志工具类来*的控制日志的打印,让日志工具更加符合自己的需求。下面给出一个例子:
public class LogUtil {
public static final int VERBOSE = 1;
public static final int DEBUG = 2;
public static final int INFO = 3;
public static final int WARN = 4;
public static final int ERROR = 5;
public static final int NOTHING = 6;
public static final int level = VERBOSE;
public static void v(String tag,String msg){
if (level<=VERBOSE)
Log.v(tag,msg);
}
public static void d(String tag,String msg){
if (level<=DEBUG)
Log.d(tag,msg);
}
public static void i(String tag,String msg){
if (level<=INFO)
Log.i(tag,msg);
}
public static void w(String tag,String msg){
if (level<=WARN)
Log.w(tag,msg);
}
public static void e(String tag,String msg){
if (level<=VERBOSE)
Log.e(tag,msg);
}
}