diff --git a/app/src/main/java/com/fankes/apperrorstracking/bean/AppErrorsInfoBean.kt b/app/src/main/java/com/fankes/apperrorstracking/bean/AppErrorsInfoBean.kt index 419b0bd..6fe3533 100644 --- a/app/src/main/java/com/fankes/apperrorstracking/bean/AppErrorsInfoBean.kt +++ b/app/src/main/java/com/fankes/apperrorstracking/bean/AppErrorsInfoBean.kt @@ -21,7 +21,10 @@ */ package com.fankes.apperrorstracking.bean +import android.os.Build import java.io.Serializable +import java.text.SimpleDateFormat +import java.util.* /** * 应用异常信息 bean @@ -47,4 +50,31 @@ data class AppErrorsInfoBean( var throwLineNumber: Int, var stackTrace: String, var timestamp: Long, -) : Serializable \ No newline at end of file +) : Serializable { + + /** + * 获取异常本地化时间 + * @return [String] + */ + val time get() = SimpleDateFormat.getDateTimeInstance().format(Date(timestamp)) + + /** + * 获取异常堆栈模板 + * @return [String] + */ + val stackOutputContent + get() = "================================================================\n" + + " Generated by AppErrorsTracking\n" + + " Project Url: https://github.com/KitsunePie/AppErrorsTracking\n" + + "================================================================\n" + + "[Device Brand]: ${Build.BRAND}\n" + + "[Device Model]: ${Build.MODEL}\n" + + "[Display]: ${Build.DISPLAY}\n" + + "[Android Version]: ${Build.VERSION.RELEASE}\n" + + "[API Version]: ${Build.VERSION.SDK_INT}\n" + + "[Package Name]: $packageName\n" + + "[Error Type]: ${if (isNativeCrash) "Native" else "Jvm"}\n" + + "[Crash Time]: $time\n" + + "[Stack Trace]:\n" + + stackTrace +} \ No newline at end of file