Timber log with Firebase Crashlytics

235 Views Asked by At

I have a multi-modular project, I need to send Timber logs to Crashlytics, but they are not sent, maybe I wrote something wrong. Timber version 5.0.1

class TimberReleaseTree : Timber.Tree() {

    override fun isLoggable(tag: String?, priority: Int): Boolean {
        return priority == Log.WARN || priority == Log.ERROR
    }
    
    override fun log(priority: Int, tag: String?, message: String, t: Throwable?) {
        if (isLoggable(tag, priority)) {
            FirebaseCrashlytics.getInstance().log("$tag: $message")
            t?.let { FirebaseCrashlytics.getInstance().recordException(it) }
        }
    }

}
1

There are 1 best solutions below

1
ΓDΛ On

I would like to share a gist that I use in my own projects.

private class CrashlyticsTree : Timber.Tree() {
    override fun isLoggable(tag: String?, priority: Int): Boolean {
        return priority == Log.WARN || priority == Log.ERROR
    }

    override fun log(priority: Int, tag: String?, message: String, t: Throwable?) {
        FirebaseCrashlytics.getInstance().log("$tag: $message")
        if (t != null) {
            FirebaseCrashlytics.getInstance().recordException(it)
        }
    }
}