嗨,我想从Crashlytics (包括setInt,setString等)的东西。报告给Logcat (通过Timber,但也可以直接通过Log )。在调试期间,我还想防止Crashlytics向服务器报告崩溃。
我从尝试覆盖CharlyticsCore中的方法开始。
// From Crashlytics to Timber
val cc = object : CrashlyticsCore() {
override fun log(msg: String?) { Timber.tag("CrashlyticsLog").d(msg) }
override fun logException(throwable: Throwable?) { Timber.e(throwable) }
// setInt, setFloat etc. call setString
override fun setString(key: String?, value: String?) { Timber.tag(key).d(value) }
}
Fabric.with(appContext, Crashlytics.Builder().core(cc).build()但我在logcat中看不到任何报告,只有初始化报告:
I/CrashlyticsCore: Initializing Crashlytics Core 2.7.0.33
I/CrashlyticsInitProvider: CrashlyticsInitProvider initialization successful
W/CrashlyticsCore: Received null settings, skipping report submission!
TimberOnlyTest online发布于 2020-02-28 16:51:33
您需要显式地记录到logcat。这是我的树的一个例子。
inner class DebugCrashReportingTree : Timber.DebugTree() {
override fun log(priority: Int, tag: String?, message: String,
throwable: Throwable?) {
if (priority == Log.VERBOSE) {
return
}
//print to logcat
Log.println(priority, tag, message)
Crashlytics.log(priority, tag, message)
val t = throwable ?: Exception(message)
Crashlytics.logException(t)
}
}然后在应用程序类onCreate中像这样设置它
Timber.plant(DebugCrashReportingTree())
https://stackoverflow.com/questions/59432787
复制相似问题