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

 更新时间:2012年12月25日 10:51:08   作者:  
追踪代码到函数具体某行,这样的功能,是每一个程序员都希望会有的,因为它可以帮助我们追踪到某行代码的错误,接下来介绍下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();
}
}

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

相关文章

  • Android Fragment 基本了解(图文介绍)

    Android Fragment 基本了解(图文介绍)

    Android是在Android 3.0 (API level 11)开始引入Fragment的可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块
    2013-01-01
  • Android使用Photoview实现图片左右滑动及缩放功能

    Android使用Photoview实现图片左右滑动及缩放功能

    这篇文章主要为大家详细介绍了Android使用Photoview实现图片左右滑动及缩放功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 封装的android监听手指左右滑动屏幕的事件类分享

    封装的android监听手指左右滑动屏幕的事件类分享

    这篇文章主要介绍了封装的android监听手指左右滑动屏幕的事件类分享,本文分别给出了简单处理方法的代码和封装好的处理类代码,需要的朋友可以参考下
    2015-05-05
  • Android 修改Preferences默认样式的步骤

    Android 修改Preferences默认样式的步骤

    这篇文章主要介绍了Android 修改Preferences默认样式的步骤,帮助大家更好的理解和学习使用Android开发,感兴趣的朋友可以了解下
    2021-04-04
  • Android常用布局使用技巧示例讲解

    Android常用布局使用技巧示例讲解

    本文详细介绍了Android常用布局,包括LinearLayout、RelativeLayout、FrameLayout、ConstraintLayout等,分析了它们的适用场景、优缺点和使用技巧,帮助开发者更好地选择和使用合适的布局,提升UI设计和开发效率
    2023-04-04
  • 关于Android中点击通知栏的通知启动Activity问题解决

    关于Android中点击通知栏的通知启动Activity问题解决

    这篇文章主要介绍了关于解决Android中点击通知栏的通知启动Activity问题的相关资料,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • 一个简单的Android圆弧刷新动画

    一个简单的Android圆弧刷新动画

    这篇文章主要为大家详细介绍了一个简单的Android圆弧刷新动画,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • Android 中 android.view.WindowLeaked的解决办法

    Android 中 android.view.WindowLeaked的解决办法

    这篇文章主要介绍了Android 中 android.view.WindowLeaked的解决办法的相关资料,需要的朋友可以参考下
    2017-05-05
  • android内存优化之图片优化

    android内存优化之图片优化

    对图片本身进行操作。尽量不要使用setImageBitmap、setImageResource、BitmapFactory.decodeResource来设置一张大图,因为这些方法在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存
    2012-12-12
  • Android实现蒙板效果

    Android实现蒙板效果

    这篇文章主要为大家详细介绍了Android实现蒙板效果的关键性代码,感兴趣的小伙伴们可以参考一下
    2016-04-04

最新评论