我们在 Flutter 应用中使用 firebase_crashlytics: ^0.4.0+1
。在 runApp() 中,我们开始听取文档中提到的错误和崩溃。
runZonedGuarded(() {
runApp(
..
}, (error, stackTrace) {
FirebaseCrashlytics.instance.recordError(error, stackTrace);
});
通常会报告崩溃,但不会报告这些类型的崩溃WIDGETS LIBRARY 捕获的异常。 在某些情况下,对象可能为空,但不会向 firebase crashlytics 仪表板报告崩溃,而不会发生任何事情。用户只收到灰屏,仅此而已。 因此,我们只会在用户报告这些错误时收到通知,但我们不会收到任何日志。 这是一个非致命错误,我们应该使用 recordFlutterError 方法吗?
顺便说一句,这是在抛出错误时调用的:
Function originalOnError = FlutterError.onError;
FlutterError.onError = (FlutterErrorDetails errorDetails) async {
await FirebaseCrashlytics.instance.recordFlutterError(errorDetails);
// Forward to original handler.
originalOnError(errorDetails);
即使调用 originalOnError(errorDetails)
方法,Firebase crashlytics 仪表板中也未记录错误。
我们如何才能使这些非致命错误也被报告?
答案 0 :(得分:0)
日志记录由 firebase crashlytics 完成。 firebase 控制台仪表板中的默认过滤器设置为 crashes
。删除过滤器,我们可以看到所有报告的错误、崩溃、非致命错误。
感谢这个stackoverflow post