Android 日志工具类

浏览:
字体:
发布时间:2013-12-12 14:51:00
来源:

Android 日志工具类,对原生日志的高级封装,统一管理,方便切换各级别的日志

 

 

import java.util.Hashtable;import android.util.Log;/** * 日志类 * @version 2012-5-23 下午3:57:25 */public class LogUtils {	// 是否开启日志	private final static boolean logFlag = true;	public final static String tag = [Wiker];		//日志级别	private final static int logLevel = Log.VERBOSE;	private static Hashtable sLoggerTable = new Hashtable();	private String mClassName;	private static LogUtils log;		private final static String user=Wiker;	private LogUtils(String name) {		mClassName = name;	}	/**	 * 	 * @param className	 * @return	 */	@SuppressWarnings(rawtypes)    public static LogUtils getLogger(Class c) {		LogUtils classLogger = (LogUtils) sLoggerTable.get(c.getClass().getName());		if (classLogger == null) {			classLogger = new LogUtils(c.getClass().getName());			sLoggerTable.put(c.getClass().getName(), classLogger);		}		return classLogger;	}	/**	 * Purpose:Mark user one	 * 	 * @return	 */	public static LogUtils log() {		if (log == null) {			log = new LogUtils(user);		}		return log;	}	/**	 * Get The Current Function Name	 * 	 * @return	 */	private String getFunctionName() {		StackTraceElement[] sts = Thread.currentThread().getStackTrace();		if (sts == null) {			return null;		}		for (StackTraceElement st : sts) {			if (st.isNativeMethod()) {				continue;			}			if (st.getClassName().equals(Thread.class.getName())) {				continue;			}			if (st.getClassName().equals(this.getClass().getName())) {				continue;			}			return mClassName + [  + Thread.currentThread().getName() + : 					+ st.getFileName() + : + st.getLineNumber() +  					+ st.getMethodName() +  ];		}		return null;	}	/**	 * The Log Level:i	 * 	 * @param str	 */	public void i(Object str) {		if (logFlag) {			if (logLevel <= Log.INFO) {				String name = getFunctionName();				if (name != null) {					Log.i(tag, name +  -  + str);				} else {					Log.i(tag, str.toString());				}			}		}	}	/**	 * The Log Level:d	 * 	 * @param str	 */	public void d(Object str) {		if (logFlag) {			if (logLevel <= Log.DEBUG) {				String name = getFunctionName();				if (name != null) {					Log.d(tag, name +  -  + str);				} else {					Log.d(tag, str.toString());				}			}		}	}	/**	 * The Log Level:V	 * 	 * @param str	 */	public void v(Object str) {		if (logFlag) {			if (logLevel <= Log.VERBOSE) {				String name = getFunctionName();				if (name != null) {					Log.v(tag, name +  -  + str);				} else {					Log.v(tag, str.toString());				}			}		}	}	/**	 * The Log Level:w	 * 	 * @param str	 */	public void w(Object str) {		if (logFlag) {			if (logLevel <= Log.WARN) {				String name = getFunctionName();				if (name != null) {					Log.w(tag, name +  -  + str);				} else {					Log.w(tag, str.toString());				}			}		}	}	/**	 * The Log Level:e	 * 	 * @param str	 */	public void e(Object str) {		if (logFlag) {			if (logLevel <= Log.ERROR) {				String name = getFunctionName();				if (name != null) {					Log.e(tag, name +  -  + str);				} else {					Log.e(tag, str.toString());				}			}		}	}	/**	 * The Log Level:e	 * 	 * @param ex	 */	public void e(Exception ex) {		if (logFlag) {			if (logLevel <= Log.ERROR) {				Log.e(tag, error, ex);			}		}	}	/**	 * The Log Level:e	 * 	 * @param log	 * @param tr	 */	public void e(String log, Throwable tr) {		if (logFlag) {			String line = getFunctionName();			Log.e(tag, {Thread: + Thread.currentThread().getName() + }					+ [ + mClassName + line + :]  + log + , tr);		}	}}


 

>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();