LogCatUtil——Android中打印文件名、方法名、行数的LogCatUtil
2015-03-02 20:23
357 查看
package com.xinwei.palmhall.util; import java.text.SimpleDateFormat; import java.util.Date; import android.util.Log; public class LogCatUtil { private static final boolean DEBUG = true; public static void d(String TAG, String method, String msg) { if (DEBUG) { Log.d(TAG, "[" + method + "]" + msg); } } public static void d(String TAG, String msg) { if (DEBUG) { Log.d(TAG, "[" + getFileLineMethod() + "]" + msg); } } public static void e(String TAG, String method, String msg) { if (DEBUG) { Log.e(TAG, "[" + method + "]" + msg); } } public static void e(String TAG, String msg) { if (DEBUG) { Log.e(TAG, "[" + getFileLineMethod() + "]" + msg); } } public static void i(String TAG, String method, String msg) { if (DEBUG) { Log.i(TAG, "[" + method + "]" + msg); } } public static void i(String TAG, String msg) { if (DEBUG) { Log.i(TAG, "[" + getFileLineMethod() + "]" + msg); } } public static void w(String TAG, String method, String msg) { if (DEBUG) { Log.w(TAG, "[" + method + "]" + msg); } } public static void w(String TAG, String msg) { if (DEBUG) { Log.w(TAG, "[" + getFileLineMethod() + "]" + msg); } } // 获取文件、行数 private static String getFileLineMethod() { StackTraceElement traceElement = ((new Exception()).getStackTrace())[2]; StringBuffer toStringBuffer = new StringBuffer("[") .append(traceElement.getFileName()).append(" | ") .append(traceElement.getLineNumber()).append(" | ") .append(traceElement.getMethodName()).append("]"); return toStringBuffer.toString(); } // 获取行数 public static String getLineMethod() { StackTraceElement traceElement = ((new Exception()).getStackTrace())[2]; StringBuffer toStringBuffer = new StringBuffer("[") .append(traceElement.getLineNumber()).append(" | ") .append(traceElement.getMethodName()).append("]"); return toStringBuffer.toString(); } // 获取文件名 public static String _FILE_() { StackTraceElement traceElement = ((new Exception()).getStackTrace())[2]; return traceElement.getFileName(); } // 获取方法名 public static String _FUNC_() { StackTraceElement traceElement = ((new Exception()).getStackTrace())[1]; return traceElement.getMethodName(); } // 获取行数 public static int _LINE_() { StackTraceElement traceElement = ((new Exception()).getStackTrace())[1]; return traceElement.getLineNumber(); } // 获取时间 public static String _TIME_() { Date now = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); return sdf.format(now); } }
本文是在懒惰日志打印器基础上进行改进的,向原作者致敬
相关文章推荐
- #Android#Eclipse Logcat无法打印信息处理方法
- Android 代码里 用log打印 该行的类名、文件名、方法名、行号等信息
- Android 让adb logcat打印内核调试信息
- android.util.Log常用的方法
- java打印类名 文件名 方法名 行数
- Android Log 工具类支持输出调用代码所属的线程ID,文件名,行号,方法名
- android.util.log 使用方法
- android adb logcat打印内核调试信息
- android.util.Log常用的方法
- Android打印调试信息几种方法===>Log
- Android Logcat调试使用方法
- [调试] 打印类名方法名行数的Log日志
- mtk android lcm 打印log信息方法
- android一种非常好的打印log的封装的方法(可直接获得主调用方的方法名)
- 关于Android studio Logcat显示不全,不显示自己需要打印的LOG数据
- android.util.Log常用的方法
- Android 让adb logcat打印内核调试信息
- 【Android Util】全局控制Log打印日志
- android设备打印过滤log的方法
- 关于android studio log日志打印信息不全的原因以及解决方法