Android部分开源项目源码分析--log信息的打印
来源:互联网 发布:snip软件下载 编辑:程序博客网 时间:2024/05/10 09:25
前言:
平常在android应用的开发的过程中间,我们都需要对应用的部分信息,打印出来,好在LogCat中查看。
然而,普通的日志的打印,有时候是很难定位到具体的代码中的。
在 https://github.com/MustafaFerhan/DebugLog 提供了一种比较好的日志的显示的方式。
我们可以定位到具体代码的每一行和每个方法;
Code:
/** * @date 21.06.2012 * @author Mustafa Ferhan Akman * * Create a simple and more understandable Android logs. * */public class DebugLog{static String className;static String methodName;static int lineNumber; private DebugLog(){ /* Protect from instantiations */ } /** * 判断是否是处在debug模式下,只有在这种模式下才打印日志; * @return */public static boolean isDebuggable(){return BuildConfig.DEBUG;}private static String createLog(String log){StringBuffer buffer = new StringBuffer();buffer.append("[");buffer.append(methodName);buffer.append(":");buffer.append(lineNumber);buffer.append("]");buffer.append(log);return buffer.toString();}private static void getMethodNames(StackTraceElement[] sElements){className = sElements[1].getFileName();methodName = sElements[1].getMethodName();lineNumber = sElements[1].getLineNumber();}public static void e(String message){if (!isDebuggable())return;// Throwable instance must be created before any methods getMethodNames(new Throwable().getStackTrace());Log.e(className, createLog(message));}public static void i(String message){if (!isDebuggable())return;getMethodNames(new Throwable().getStackTrace());Log.i(className, createLog(message));}public static void d(String message){if (!isDebuggable())return;getMethodNames(new Throwable().getStackTrace());Log.d(className, createLog(message));}public static void v(String message){if (!isDebuggable())return;getMethodNames(new Throwable().getStackTrace());Log.v(className, createLog(message));}public static void w(String message){if (!isDebuggable())return;/** * new Throwable().getStackTrace() 跟踪应用的堆栈的信息 */getMethodNames(new Throwable().getStackTrace());Log.w(className, createLog(message));}public static void wtf(String message){if (!isDebuggable())return;getMethodNames(new Throwable().getStackTrace());Log.wtf(className, createLog(message));}}
参考:https://github.com/MustafaFerhan/DebugLog
0 0
- Android部分开源项目源码分析--log信息的打印
- android log 信息打印
- android的Log工具Log源码分析
- Android部分开源项目源码分析之--图片滑动的效果
- Android部分开源项目源码分析之--ListView 图片顶部模糊的高斯处理
- Android中的信息输出:System.out和Log的源码分析与对比(Log篇)
- Android部分开源项目源码分析之---Volley源码分析(一)
- Android 项目中打印Log的优化
- android ndk打印log信息
- Android NDK Log信息打印
- android jni打印log信息
- ANDROID LOG信息分析
- android 项目中log信息的正确处理
- Android部分开源项目源码分析之---ViewBadge(View 上面动态的自定义的添加view)
- Android之Log的日志打印信息的封装
- Android 输出C文件打印的log信息
- 实时打印 android 模拟器的内核log信息
- 开源项目Logger源码分析-----一个好看、简单、强大的logcat信息输出项目
- 战网登录器:完美解决炉石美台国服三合一
- 单播,广播域多播区别及IP范围
- 最小操作数-c#求解-英雄会在线编程题目
- 【懒懒】我不生产笑话,我只是笑话的搬运工 [问题点数:200分]
- HTTP 错误 500.19 - Internal Server Error 错误解决方法 集锦iis7(在window7下)
- Android部分开源项目源码分析--log信息的打印
- Eclipse打开时出现failed to create the java virtual machine...
- 解决炉石传说战网无法更新问题
- spring获取JavaBean的几种方式
- 简单的单例实现
- Animation动画类
- Android ListView 去除边缘阴影、选中色、拖动背景色等
- Beagle选型参数对照表
- 黑马程序员_Java基础提高笔记1