首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在调试模式下使用Crashlytics to Timber

如何在调试模式下使用Crashlytics to Timber
EN

Stack Overflow用户
提问于 2019-12-21 09:03:17
回答 1查看 551关注 0票数 0

嗨,我想从Crashlytics (包括setInt,setString等)的东西。报告给Logcat (通过Timber,但也可以直接通过Log )。在调试期间,我还想防止Crashlytics向服务器报告崩溃。

我从尝试覆盖CharlyticsCore中的方法开始。

代码语言:javascript
复制
    // 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中看不到任何报告,只有初始化报告:

代码语言:javascript
复制
I/CrashlyticsCore: Initializing Crashlytics Core 2.7.0.33
I/CrashlyticsInitProvider: CrashlyticsInitProvider initialization successful
W/CrashlyticsCore: Received null settings, skipping report submission!
TimberOnlyTest online
EN

回答 1

Stack Overflow用户

发布于 2020-02-28 16:51:33

您需要显式地记录到logcat。这是我的树的一个例子。

代码语言:javascript
复制
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())

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59432787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档