android上一个可追踪代码具体到函数某行的日志类
android上一个可追踪代码具体到函数某行的日志类
发布时间:2016-12-28 来源:查字典编辑
摘要:代码如下:复制代码代码如下:packagexiaogang.enif.utils;/***TheClassLogUtilsforlogpri...

代码如下:

复制代码 代码如下:

package xiaogang.enif.utils;

/**

* The Class LogUtils for log printing, which help us

* easy to trace our codes or logics in the project .

*

* @author zhao xiaogang

* @time 2011.4.12

*/

public class LogUtils {

private final static int VERBOSE = 0;

private final static int DEBUG = 1;

private final static int INFO = 2;

private final static int WARN = 3;

private final static int ERROR = 4;

private final static int DEFAULT_LEVEL = -1;

private int level;

private final String clazz;

private static final String TAG = "LogUtils";

public static LogUtils getDebugLog(Class<?> clazz, int l) {

LogUtils log = new LogUtils(clazz);

log.level = l;

return log;

}

public static LogUtils getLog(Class<?> clazz) {

return new LogUtils(clazz);

}

public LogUtils(Class<?> clazz) {

this.clazz = "[" + clazz.getSimpleName() + "] ";

level = DEFAULT_LEVEL;

}

public void verbose(String message) {

verbose(message, null);

}

public void debug(String message) {

debug(message, null);

}

public void info(String message) {

info(message, null);

}

public void warn(String message) {

warn(message, null);

}

public void error(String message) {

error(message, null);

}

public void verbose(String message, Throwable t) {

if (VERBOSE < level)

return;

if (message != null)

android.util.Log.v(TAG, clazz + " Line: " + getLineNumber() + " : " + message);

if (t != null)

android.util.Log.v(TAG, clazz + " Line: " + getLineNumber() + " : " + t.toString());

}

public void debug(String message, Throwable t) {

if (DEBUG < level)

return;

if (message != null)

android.util.Log.d(clazz, clazz + " Line: " + getLineNumber() + " : " + message);

if (t != null)

android.util.Log.d(clazz, clazz + " Line: " + getLineNumber() + " : " + t.toString());

}

public void info(String message, Throwable t) {

if (INFO < level)

return;

if (message != null)

android.util.Log.i(TAG, clazz + " Line: " + getLineNumber() + " : " + message);

if (t != null)

android.util.Log.i(TAG, clazz + " Line: " + getLineNumber() + " : " + t.toString());

}

public void warn(String message, Throwable t) {

if (WARN < level)

return;

if (message != null)

android.util.Log.w(TAG, clazz + " Line: " + getLineNumber() + " : " + message);

if (t != null)

android.util.Log.w(TAG, clazz + " Line: " + getLineNumber() + " : " + t.toString());

}

public void error(String message, Throwable t) {

if (ERROR < level)

return;

if (message != null)

android.util.Log.e(TAG, clazz + " Line: " + getLineNumber() + " : " + message);

if (t != null)

android.util.Log.e(TAG, clazz + " Line: " + getLineNumber() + " : " + t.toString());

}

private static int getLineNumber() {

return Thread.currentThread().getStackTrace()[5].getLineNumber();

}

}

好用的话,记得给好评,嘿嘿!

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类