有没有办法通过双击自动访问任何登录Logcat?
实际上,当我的Android应用程序出现错误时,我可以双击该行说明
at com.myapp.mypackage$Class.function(File.java:117)
通过双击此行,我会自动重定向到我的代码的相关行。
但是,当我尝试在另一个Log中生成相同的行时,例如:
Log.e("TAG", "at com.myapp.mypackage$Class.function(File.java:117)");
双击不再有效......
有什么想法吗?
答案 0 :(得分:8)
如果您想在logcat中创建一个可以单击并转到您的行的日志,请使用以下方法创建它:
享受!
public static void showLogCat(String tag, String msg) {
StackTraceElement[] stackTraceElement = Thread.currentThread()
.getStackTrace();
int currentIndex = -1;
for (int i = 0; i < stackTraceElement.length; i++) {
if (stackTraceElement[i].getMethodName().compareTo("showLogCat") == 0)
{
currentIndex = i + 1;
break;
}
}
String fullClassName = stackTraceElement[currentIndex].getClassName();
String className = fullClassName.substring(fullClassName
.lastIndexOf(".") + 1);
String methodName = stackTraceElement[currentIndex].getMethodName();
String lineNumber = String
.valueOf(stackTraceElement[currentIndex].getLineNumber());
Log.i(tag, msg);
Log.i(tag + " position", "at " + fullClassName + "." + methodName + "("
+ className + ".java:" + lineNumber + ")");
}
答案 1 :(得分:3)
如果您不介意日志中的混乱,您可以轻松地在日志消息中添加new Exception()
Log.e("TAG", "Looky here see", new Exception());