前言
Android中提供的日志工具类,虽说十分强大,但还是存在缺点。比如说,我们在编写大型项目时,在项目中我打印大量的日志信息,现在项目完结了,那么此项目上线后任然会打印大量的日志信息,减低app的运行效率,还可能将机密数据泄露出去。
理想的情况是我们在调试的时候能够打印日志信息,上线后则不打印。
具体看代码…
实现
LogUtil.java
import android.util.Log;
/**
* 日志工具类
*
* @author jiangbing
*
*/
public class LogUtil {
public static final String TAG = "SNIFF_WIFI";
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;
/** 这里对日志输出做出控制,项目上线后,请将LEVEL等级设置为NOTHING */
public static final int LEVEL = VERBOSE;
public static void v(String msg) {
if (LEVEL <= VERBOSE) {
Log.v(TAG, msg);
}
}
public static void d(String msg) {
if (LEVEL <= DEBUG) {
Log.d(TAG, msg);
}
}
public static void i(String msg) {
if (LEVEL <= INFO) {
Log.i(TAG, msg);
}
}
public static void w(String msg) {
if (LEVEL <= WARN) {
Log.w(TAG, msg);
}
}
public static void e(String msg) {
if (LEVEL <= ERROR) {
Log.e(TAG, msg);
}
}
}
通过设置LogUtil中的level来控制日志输出的信息,当项目上线后,将level修改成:
public static final int LEVEL = NOTHING;