Android 日志工具类
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 HashtablesLoggerTable = 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); } }}
报名学习加微信/QQ 1602007,关注《东方联盟网》微信公众号
>更多相关文章
首页推荐
佛山市东联科技有限公司一直秉承“一切以用户价值为依归
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 03-08消息称微软开发内部AI推理模型,或将成为Op
- 03-08美国法院驳回马斯克请求,未阻止OpenAI转型
- 03-08饿了么成立即时配送算法专家委员会 持续全局
- 03-08长安汽车:预计今年底长安飞行汽车将完成试
- 03-08谷歌推出虚拟试穿、AR美妆新功能
相关文章
24小时热门资讯
热门推荐
最新资讯
操作系统
黑客防御