Custom ReleaseTree не показывает журналы, используя Timber - PullRequest
0 голосов
/ 06 февраля 2019

Я использую пользовательский ReleaseTree для своего приложения, используя Timber для фильтрации журналов.Но при сборке релиза apk логи приложения не отображаются в logcat.При использовании Timber.DebugTree() в выпуске сборки логи отображаются корректно.

Вот мой класс ReleaseTree:

class ReleaseTree : Timber.Tree() {

    override fun log(priority: Int, tag: String?, message: String, throwable: Throwable?) {
        // Don't log VERBOSE, DEBUG and INFO
        if (priority == Log.VERBOSE) {
            return
        }


        if (priority == Log.ERROR){
            val t = throwable ?: Exception(message)

            // Crashlytics
            Crashlytics.setInt(CRASHLYTICS_KEY_PRIORITY, priority)
            Crashlytics.setString(CRASHLYTICS_KEY_TAG, tag)
            Crashlytics.setString(CRASHLYTICS_KEY_MESSAGE, message)
            Crashlytics.logException(t)
        }

    }

    companion object {
        private val CRASHLYTICS_KEY_PRIORITY = "Priority"
        private val CRASHLYTICS_KEY_TAG = "Tag"
        private val CRASHLYTICS_KEY_MESSAGE = "Message"
    }
}

Как я инициализирую ReleaseTree из класса приложения:

Fabric.with(this, new Crashlytics());
Timber.plant(new ReleaseTree());

1 Ответ

0 голосов
/ 01 марта 2019

В вашем журнале методов отсутствует строка.

Вы должны войти в logcat из своего собственного дерева

override fun log(priority: Int, tag: String?, message: String, throwable: Throwable?) {
        // Don't log VERBOSE, DEBUG and INFO
        if (priority == Log.VERBOSE) {
            return
        } else {
          Log.println(priority, tag, message);
        }


        if (priority == Log.ERROR){
            val t = throwable ?: Exception(message)

            // Crashlytics
            Crashlytics.setInt(CRASHLYTICS_KEY_PRIORITY, priority)
            Crashlytics.setString(CRASHLYTICS_KEY_TAG, tag)
            Crashlytics.setString(CRASHLYTICS_KEY_MESSAGE, message)
            Crashlytics.logException(t)
        }

    }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...