首页 > 系统 > Android > 正文

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

2019-10-24 21:09:15
字体:
来源:转载
供稿:网友
追踪代码到函数具体某行,这样的功能,是每一个程序员都希望会有的,因为它可以帮助我们追踪到某行代码的错误,接下来介绍下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(); 

}

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表