Log.i("Test", "Hello, Log")
Timber.i("Hello, Timber")
我可以在 Debug 控制台和 Logcat 中看到 Log.i 登录,我在任何地方都看不到 Timber 登录。
我/测试:你好,日志
我正在 stagingDebug 模式下构建。(我有 4 个选项,生产调试和发布以及分段调试和发布)
我错过了什么?
Log.i("Test", "Hello, Log")
Timber.i("Hello, Timber")
我可以在 Debug 控制台和 Logcat 中看到 Log.i 登录,我在任何地方都看不到 Timber 登录。
我/测试:你好,日志
我正在 stagingDebug 模式下构建。(我有 4 个选项,生产调试和发布以及分段调试和发布)
我错过了什么?
确保您已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,而不是像这样从 3rd 方库中导入的 BuildConfig import org.koin.android.BuildConfig
:. 我为此挣扎了几次。
Kotlin 中的初始化 Timber
class ExampleApplication : Application(){
override fun onCreate() {
super.onCreate()
// init timber
if (BuildConfig.DEBUG) {
Timber.plant(Timber.DebugTree())
}
}
}
并且不要忘记android:name
在 Manifest.xml 中写入 Application:
<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))