Журнал древесины не печатается в консоли отладки или Logcat

Log.i("Test", "Hello, Log")
Timber.i("Hello, Timber")

Я вижу журнал Log.i в консоли отладки и Logcat, я нигде не вижу журнал Timber.

Я / Тест: Привет, Журнал

Я строю в режиме постановки отладки. (У меня есть 4 варианта, производственная отладка и выпуск и постановка отладки и выпуска)

Что мне не хватает?

5 ответов

Решение

Убедитесь, что вы инициализировали Timber в Application учебный класс. Следующий код может помочь:-

public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        // This will initialise Timber
        if (BuildConfig.DEBUG) {
        Timber.plant(new Timber.DebugTree());
        }
   }
}

Если вы инициализируете Timber следующим образом:

      if (BuildConfig.DEBUG) {
    Timber.plant(Timber.DebugTree())
}

Убедитесь, что вы импортировали BuildConfig из пакета приложения, а не что-то вроде BuildConfig из сторонних библиотек, например: import org.koin.android.BuildConfig. Я боролся с этим несколько раз.

Инициализация Timber в Котлине

class ExampleApplication : Application(){

    override fun onCreate() {
        super.onCreate()
        // init timber
        if (BuildConfig.DEBUG) {
            Timber.plant(Timber.DebugTree())
        }
    }
}

и не забудь написать android:name приложения в Manifest.xml:

<application
        android:name=".ExampleApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.PostMakerMassive">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

В моем случае я импортировал неверный файл BuildConfig. Вы можете проверить, не проблема ли в этом и у вас.

Попробуйте добавить tagв Древесине. Он должен быть установлен (автоматически) на основе информации в манифесте, но это не всегда происходит (например, для пользовательских устройств с пользовательской ОС).

Итак, первым делом посадите:

      // Java
Timber.plant(new Timber.DebugTree());

// Kotlin
Timber.plant(Timber.DebugTree())

и следующий установленный тег:

      // custom tag
Timber.tag("your custom tag");

// or
Timber.tag("trolololololo");

// or something (more serious) from strings:
Timber.tag(getString(R.string.app_name))
Другие вопросы по тегам