LogUtils、日志工具类

381 阅读1分钟

这个日志可以获得日志的位置,方便我们在点击的时候自动跳转

public class LogUtil {
    
    public static void e(String msg){
            Log.e(TAG, getLocation() + " " + msg);
    }

    /**
     * 输出日志的位置
     * @return
     */
    private static String getLocation() {
        String result = "";
        try {
            StackTraceElement stackTraceElement = new Exception().getStackTrace()[2];
            String position = stackTraceElement.toString();
            int lineNumber = (stackTraceElement.getLineNumber() + "").length();
            result = position.substring(position.length() - (stackTraceElement.getFileName().length() + lineNumber + 2 + 1));
        } catch (Exception e) {

        }
        return result;
    }
}

扩展

上面的实现方式可以优化为:可以通过Thread去获得StackTraceElement

 val stackTraceElement = Thread.currentThread().stackTrace[3]