手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >android上一个可追踪代码具体到函数某行的日志类
android上一个可追踪代码具体到函数某行的日志类
摘要:代码如下:复制代码代码如下: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();

}

}

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

【android上一个可追踪代码具体到函数某行的日志类】相关文章:

解析Android中使用自定义字体的实现方法

Android中ActionBar以及menu的代码设置样式

如何与Android实体设备的连接

android实现字体闪烁动画的方法

Android不需要关闭后台运行程序

android获取屏幕像素思路及代码

android开发之调用手机的摄像头使用MediaRecorder录像并播放

android开发中获取手机分辨率大小的方法

Android开发之XML文件解析的使用

Android如何实现非本地图片的点击态

精品推荐
分类导航