Журнал древесины не печатается в консоли отладки или 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))