Adnroid 简单易用的Log
来源:互联网 发布:android数独游戏源码 编辑:程序博客网 时间:2024/05/16 14:50
个人觉得,android开发中的log很必要,但为了log去依赖第三方库,却又显得太重,真是此事古难全啊。
于是乎,简单的包装下log日常使用,惶惶恐难辨优劣,发上来欢迎吐槽~
废话不多,上码
public class AppLog { public static void v(String content) { if (BuildConfig.DEBUG) { Log.d(generateTag(), content); } } public static void d(String content) { if (BuildConfig.DEBUG) { Log.d(generateTag(), content); } } public static void i(String content) { if (BuildConfig.DEBUG) { Log.i(generateTag(), content); } } public static void w(String content) { if (BuildConfig.DEBUG) { Log.w(generateTag(), content); } } public static void e(String content) { if (BuildConfig.DEBUG) { Log.e(generateTag(), content); } } public static void wtf(Throwable t) { if (BuildConfig.DEBUG) { Log.wtf(generateTag(), t); } } public static void wtf(String content) { if (BuildConfig.DEBUG) { Log.wtf(generateTag(), content); } } public static void json(String content) { if (BuildConfig.DEBUG) { printJson(generateTag(), content); } } private static StackTraceElement getCallerStackTraceElement() { return Thread.currentThread().getStackTrace()[5]; } private static String generateTag() { String tag = "%s.%s(L:%d)"; StackTraceElement caller = getCallerStackTraceElement(); String callerClazzName = caller.getClassName(); callerClazzName = callerClazzName.substring(callerClazzName.lastIndexOf(".") + 1); tag = String.format(tag, callerClazzName, caller.getMethodName(), caller.getLineNumber()); return tag; } private static void printJson(String tag, String msg) { String message; try { if (msg.startsWith("{")) { message = new JSONObject(msg).toString(4); } else if (msg.startsWith("[")) { message = new JSONArray(msg).toString(4); } else { message = msg; } } catch (JSONException e) { message = msg; } String[] lines = message.split(System.getProperty("line.separator")); blockStart(tag); for (String line : lines) { Log.d(tag, "║ " + line); } blockEnd(tag); } private static void blockStart(String tag) { Log.d(tag, "╔═══════════════════════════════════════════════════════════════════════════════════════"); } private static void blockEnd(String tag) { Log.d(tag, "╚═══════════════════════════════════════════════════════════════════════════════════════"); }}
用法略
效果如下:
0 0
- Adnroid 简单易用的Log
- Adnroid Log 机制
- adnroid中LayoutParams的简单总结
- adnroid 单元测试 简单实现
- Adnroid上的简单图像合成类——PorterDuffXfermode
- Adnroid上的简单图像合成类——PorterDuffXfermode
- Adnroid上的简单图像合成类——PorterDuffXfermode
- Adnroid中的数据存储大全,以及ActiveAndroid的简单使用
- 简单好用的Log工具
- 简单好用的Log类,easylogging++
- Adnroid 的Broadcast
- log的简单说明
- 简单的封装log
- adnroid
- adnroid
- adnroid的Content Provider笔记
- Adnroid学习笔记的链接
- 一些好的adnroid项目
- Android应用 手势密码的实现(二)
- 一个2年Android开发者的18条建议
- WebApi2中action几种返回值
- 模态窗口小结
- C语言字节对齐详解
- Adnroid 简单易用的Log
- AndroidStudio利用android-support-multidex解决65536问题64k问题
- c++笔记(3):函数内联、重载、宏定义、static和extern、存储区域
- C/C++ struct 结构体定义 用法详解
- Java中对象的初始化顺序
- 解决CAD宋体显示为问号的问题
- c++primer第十六章模板和泛型编程小结-16
- android 开发工具
- 威佐夫博弈(附POJ1067)