首页 > 代码库 > Android显示Log信息(带行号,类名,方法名)
Android显示Log信息(带行号,类名,方法名)
package com.dylan.testlog; import android.util.Log; public class MyLogger { // private static final String TAG = "MyLogger"; public static boolean DEBUG = true; /** * 显示Log信息(带行号) * @param logLevel 1 v ; 2 d ; 3 i ; 4 w ; 5 e . * @param info 显示的log信息 */ public static void showLogWithLineNum(int logLevel, String info) { String[] infos = getAutoJumpLogInfos(); switch (logLevel) { case 1: if (DEBUG) Log.v(infos[0], info + " : " + infos[1] + infos[2]); break; case 2: if (DEBUG) Log.d(infos[0], info + " : " + infos[1] + infos[2]); break; case 3: if (DEBUG) Log.i(infos[0], info + " : " + infos[1] + infos[2]); break; case 4: if (DEBUG) Log.w(infos[0], info + " : " + infos[1] + infos[2]); break; case 5: if (DEBUG) Log.e(infos[0], info + " : " + infos[1] + infos[2]); break; } } /** * 获取打印信息所在方法名,行号等信息 * @return */ private static String[] getAutoJumpLogInfos() { String[] infos = new String[] { "", "", "" }; StackTraceElement[] elements = Thread.currentThread().getStackTrace(); if (elements.length < 5) { Log.e("MyLogger", "Stack is too shallow!!!"); return infos; } else { infos[0] = elements[4].getClassName().substring( elements[4].getClassName().lastIndexOf(".") + 1); infos[1] = elements[4].getMethodName() + "()"; infos[2] = " at (" + elements[4].getClassName() + ".java:" + elements[4].getLineNumber() + ")"; return infos; } }
源码下载
Android显示Log信息(带行号,类名,方法名)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。