Android 如何在调试模式下将Crashlytics转换为Timber

Android 如何在调试模式下将Crashlytics转换为Timber,android,debugging,crashlytics,logcat,timber-android,Android,Debugging,Crashlytics,Logcat,Timber Android,嗨,我想从Crashlytics(包括setInt,setString等)的东西被报告给Logcat(通过木材,但也可以直接通过日志)。在调试期间,我还希望防止Crashlytics向服务器报告崩溃 我首先尝试覆盖CharlyticsCore中的方法: // From Crashlytics to Timber val cc = object : CrashlyticsCore() { override fun log(msg: String?) { Timber

嗨,我想从Crashlytics(包括setInt,setString等)的东西被报告给Logcat(通过木材,但也可以直接通过日志)。在调试期间,我还希望防止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

您需要显式地登录到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())

我想用另一种方法(从Crashlytics到Timber)