有没有办法通过双击自动访问任何登录Logcat?

时间:2011-11-09 15:44:28

标签: android eclipse line logcat

有没有办法通过双击自动访问任何登录Logcat?

实际上,当我的Android应用程序出现错误时,我可以双击该行说明

at com.myapp.mypackage$Class.function(File.java:117)

通过双击此行,我会自动重定向到我的代码的相关行。

但是,当我尝试在另一个Log中生成相同的行时,例如:

Log.e("TAG", "at com.myapp.mypackage$Class.function(File.java:117)");

双击不再有效......

有什么想法吗?

2 个答案:

答案 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());