广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-04-04 08:35:16 次阅读 稿源:互联网
    广告
    代码如下:
    代码如下:

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

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

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告