Timber 日志未在调试控制台中打印或 Logcat
Timber log is not printing in debug console or Logcat
Log.i("Test", "Hello, Log")
Timber.i("Hello, Timber")
我可以在调试控制台中看到 Log.i 日志,并且 Logcat,我在任何地方都看不到 Timber 日志。
I/Test: Hello, Log
我正在 stagingDebug 模式下构建。 (我有 4 个选项,生产调试和发布以及暂存调试和发布)
我错过了什么?
确保您已在 Application
class 中初始化 Timber
。以下代码可能会有所帮助:-
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// This will initialise Timber
if (BuildConfig.DEBUG) {
Timber.plant(new Timber.DebugTree());
}
}
}
在 Kotlin 中初始化 Timber
class ExampleApplication : Application(){
override fun onCreate() {
super.onCreate()
// init timber
if (BuildConfig.DEBUG) {
Timber.plant(Timber.DebugTree())
}
}
}
并且不要忘记在 Manifest.xml 中写入 android:name
应用程序:
<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>
如果您像这样初始化 Timber:
if (BuildConfig.DEBUG) {
Timber.plant(Timber.DebugTree())
}
请确定,您是从应用程序包中导入 BuildConfig,而不是像这样从第 3 方库中导入的 BuildConfig:import org.koin.android.BuildConfig
。我为此苦苦挣扎了几次。
就我而言,我导入了不正确的 BuildConfig。您也可以检查一下您的问题是否也是如此。
尝试在 Timber 中添加 tag
。它应该根据清单中的信息(自动)设置,但它并不总是发生(例如,对于具有自定义 OS)
的自定义设备
所以首先种植它:
// 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))
Log.i("Test", "Hello, Log")
Timber.i("Hello, Timber")
我可以在调试控制台中看到 Log.i 日志,并且 Logcat,我在任何地方都看不到 Timber 日志。
I/Test: Hello, Log
我正在 stagingDebug 模式下构建。 (我有 4 个选项,生产调试和发布以及暂存调试和发布)
我错过了什么?
确保您已在 Application
class 中初始化 Timber
。以下代码可能会有所帮助:-
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// This will initialise Timber
if (BuildConfig.DEBUG) {
Timber.plant(new Timber.DebugTree());
}
}
}
在 Kotlin 中初始化 Timber
class ExampleApplication : Application(){
override fun onCreate() {
super.onCreate()
// init timber
if (BuildConfig.DEBUG) {
Timber.plant(Timber.DebugTree())
}
}
}
并且不要忘记在 Manifest.xml 中写入 android:name
应用程序:
<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>
如果您像这样初始化 Timber:
if (BuildConfig.DEBUG) {
Timber.plant(Timber.DebugTree())
}
请确定,您是从应用程序包中导入 BuildConfig,而不是像这样从第 3 方库中导入的 BuildConfig:import org.koin.android.BuildConfig
。我为此苦苦挣扎了几次。
就我而言,我导入了不正确的 BuildConfig。您也可以检查一下您的问题是否也是如此。
尝试在 Timber 中添加 tag
。它应该根据清单中的信息(自动)设置,但它并不总是发生(例如,对于具有自定义 OS)
所以首先种植它:
// 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))