【Android Util】全局控制Log打印日志
2015-07-18 11:30
519 查看
public class LogUtil { private static final boolean DEBUG = true; private LogUtil() { throw new UnsupportedOperationException("Cannot initialize " + getClass().getCanonicalName() + " class"); } private static String addCallerInformation() { int i, lio; //lio = lastIndexOf StackTraceElement stack[] = Thread.currentThread().getStackTrace(); for (i = 0; !stack[i].getClassName().equals(LogUtil.class.getName()); i++) { } for (; stack[i].getClassName().equals(LogUtil.class.getName()); i++) { } lio = stack[i].getFileName().lastIndexOf('.'); if (lio == -1) { return " (" + stack[i].getFileName() + ":" + stack[i].getLineNumber() + ")"; } else { return " (" + stack[i].getFileName().substring(0, lio) + ":" + stack[i].getLineNumber() + ")"; } } public static void i(Object obj, Object message){ if(DEBUG) { if (obj != null && message != null) { Log.i(obj instanceof CharSequence ? obj.toString() : obj.getClass().getSimpleName(), message.toString().trim() + addCallerInformation()); } } } public static void e(Object obj, Object message) { if(DEBUG) { if (obj != null && message != null) { Log.e(obj instanceof CharSequence ? obj.toString() : obj.getClass().getSimpleName(), message.toString().trim() + addCallerInformation()); } } } public static void d(Object obj, Object message) { if(DEBUG) { if (obj != null && message != null) { Log.d(obj instanceof CharSequence ? obj.toString() : obj.getClass().getSimpleName(), message.toString().trim() + addCallerInformation()); } } } public static void v(Object obj, Object message) { if(DEBUG) { if (obj != null && message != null) { Log.v(obj instanceof CharSequence ? obj.toString() : obj.getClass().getSimpleName(), message.toString().trim() + addCallerInformation()); } } } public static void w(Object obj, Object message) { if(DEBUG) { if (obj != null && message != null) { Log.w(obj instanceof CharSequence ? obj.toString() : obj.getClass().getSimpleName(), message.toString().trim() + addCallerInformation()); } } } public static void wtf(Object obj, Object message, Throwable t) { if(DEBUG) { if (obj != null && message != null) { Log.wtf(obj instanceof CharSequence ? obj.toString() : obj.getClass().getSimpleName(), message.toString().trim() + addCallerInformation(), t); } } } }
相关文章推荐
- android 升级sdk后,adt问题
- 【Android Util】尺寸单位 dp 和 px 相互转换
- listView返回顶部
- android学习之旅
- Android多媒体:OMX
- android 设计模式之单例模式
- Android Studio AIDL 的使用 。
- Android--ViewDragHelper完全解析 自定义ViewGroup神器
- Android检查手机上是否安装了第三方软件的方法---本文以百度地图为例
- Android--百分比布局库(percent-support-lib)
- Android:剖析源码,随心所欲控制Toast显示
- Android--你应该知道的学习资源 进阶之路贵在坚持
- 【Android】九宫格手势锁简单实现
- Android--SurfaceView实战 打造抽奖转盘
- Android 开发 计时器的实现
- Android 画虚线显示实线的BUG
- Android sdk manager 更新很慢
- Android ImageView分析并展开
- android 来电自动接听和自动挂断
- Android 开源框架Universal-Image-Loader完全解析(三)---源代码解读