在调试模式下使用Crashlytics to Timber,您可以按照以下步骤进行操作:
import com.crashlytics.android.Crashlytics;
import timber.log.Timber;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// 初始化Crashlytics
Fabric.with(this, new Crashlytics());
// 初始化Timber
if (BuildConfig.DEBUG) {
Timber.plant(new Timber.DebugTree());
} else {
Timber.plant(new CrashlyticsTree());
}
}
}
import android.util.Log;
import com.crashlytics.android.Crashlytics;
import timber.log.Timber;
public class CrashlyticsTree extends Timber.Tree {
@Override
protected void log(int priority, String tag, String message, Throwable t) {
if (priority == Log.ERROR || priority == Log.WARN) {
// 将错误日志发送到Crashlytics
Crashlytics.log(priority, tag, message);
if (t != null) {
Crashlytics.logException(t);
}
}
}
}
import timber.log.Timber;
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Timber.tag(TAG).d("This is a debug log.");
Timber.tag(TAG).e("This is an error log.");
}
}
请注意,Crashlytics和Timber是独立的库,它们并没有直接的关联。在这个例子中,我们使用Timber来记录日志,并通过CrashlyticsTree将日志发送到Crashlytics。这样做是为了方便在调试模式和发布模式下切换日志输出的行为。
领取专属 10元无门槛券
手把手带您无忧上云