欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android开发的log管理

程序员文章站 2022-07-14 20:46:57
...

my git : https://github.com/hejiawang

 

在日常写代码的过程中,为了测试程序,总会在LogCat里面打印出一些log,Java里面有System.out.println(),Android开发也可以用system,但是不推荐,我们会用Android的Log类打印出我们想要的信息,那么问题来了,在程序开发完,这个Log类删还是不删呢??删了吧,下次调试的时候怎么办?在写上?不删吧,还是会有问题,比如说坏人安装上程序,在eclipse的LogCat里看一些信息,总会不安全。所以,我么可以创建一个类,通过这个类,控制log的打印,代码如下:

package com.wang.mobilesafe.utils;

import android.util.Log;

/**
 * log工具类
 * 
 * @author wang
 *
 */
public class LoggerUtil {

	private static final int VERBOSE = 5;
	private static final int DEBUG = 4;
	private static final int INFO = 3;
	private static final int WARN = 2;
	private static final int ERROR = 1;

	/**
	 * 通过改变这个数,控制LogCat打印的内容
	 * 内部测试阶段,所有信息都能打印到LogCat,LOG_LEVEL = 6 
	 * 测试版,预览版,LOG_LEVEL = 3
	 * 稳定版,LOG_LEVEL = 2 
	 */
	public static int LOG_LEVEL = 6;

	public static void v(String tag, String msg) {

		if (LOG_LEVEL > VERBOSE) {
			Log.v(tag, msg);
		}
	}

	public static void d(String tag, String msg) {

		if (LOG_LEVEL > DEBUG) {
			Log.d(tag, msg);
		}
	}

	public static void i(String tag, String msg) {

		if (LOG_LEVEL > INFO) {
			Log.i(tag, msg);
		}
	}

	public static void w(String tag, String msg) {

		if (LOG_LEVEL > WARN) {
			Log.w(tag, msg);
		}
	}

	public static void e(String tag, String msg) {

		if (LOG_LEVEL > ERROR) {
			Log.e(tag, msg);
		}
	}
}

 这样,在程序的代码里我们可以用自己创建的这个类打印log,通过改变LOG_LEVEL的值,来决定是否打印相应级别的log