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

 

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

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值