根据documentation,有两种方法可以登录Crashlytics。
Crashlytics.log(int priority, String tag, String msg);
除了写入下一个崩溃报告外,它还将使用android.util.Log.println(priority, tag, msg)
写入LogCat。
Crashlytics.log(msg);
只能写入Crashlytics崩溃报告[不是logcat]。
但是,第二种方法不允许我设置标记和优先级。相反,它会自动将结果标记设置为“CrashlyticsCore”并优先调试:
来自Fabric仪表板:
1 | 04:24:55:100 (UTC) | D/CrashlyticsCore ...
2 | 04:24:55:101 (UTC) | D/CrashlyticsCore ...
3 | 04:24:55:121 (UTC) | D/CrashlyticsCore ...
如何保留我的实际标签和调试值?我想我可以创建一个自定义消息,但这看起来很难看,只会使Fabric混乱:
String output = String.format(Locale.US,
"Priority: %d; %s : %s", priority, tag, message);
Crashlytics.log(output);
答案 0 :(得分:2)
如果您需要在Crashlytics中记录标签,但要避免使用Crashlytics.log(int priority, String tag, String msg);
在LogCat中记录标签,我建议为Fabric启用SilentLogger
:
// Create Crashlytics Kit which doesn't trace crashes in debug mode
final Crashlytics crashlyticsKit = new Crashlytics.Builder().core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()).build();
// Use SilentLogger instead of DefaultLogger to avoid writing into LogCat
Fabric.with(new Fabric.Builder(this).kits(crashlyticsKit).logger(new SilentLogger()).build());