android下一个可追踪代码到函数具体某行的日志类

android上一个可追踪代码到函数具体某行的日志类代码如下:package xiaogang.enif.utils/** * The Class L

android上一个可追踪代码到函数具体某行的日志类

代码如下:

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();    }}

 

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

1楼su1216昨天 15:07
系统已经提供了,你为什么要自己写一遍。。。nLog.v(tag,message,throwable)……
Re: androidzhaoxiaogang昨天 15:25
回复su1216n这个类可以控制日志的类别,跟踪到哪个类,得哪一行,可以打印行数
Re: su1216昨天 17:03
回复androidzhaoxiaogangn你在你代码中执行一下nLog.v(tag,message,new Throwable())n看看输出什么