Flutter Crashlytics - 没有非致命颤动错误的崩溃日志

问题描述 投票:0回答:2

我们在 flutter 应用程序中使用

firebase_crashlytics: ^0.4.0+1
。在 runApp() 中,我们开始监听错误和崩溃,就像文档中提到的那样。

runZonedGuarded(() {
    runApp(
..
}, (error, stackTrace) {        
FirebaseCrashlytics.instance.recordError(error, stackTrace);
});

一般会报告崩溃,但不会报告这些类型的崩溃小部件库捕获的异常。 在某些情况下,对象可能为空,但不会向 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 仪表板中。 我们怎样才能让这些非致命错误也被报告呢?

firebase flutter crashlytics
2个回答
3
投票

日志记录是由 firebase crashlytics 完成的。 Firebase 控制台仪表板中的默认过滤器设置为

crashes
。删除过滤器,我们可以看到所有报告的错误、崩溃、非致命错误。 感谢这个stackoverflow帖子


0
投票

如果您想在您的应用程序中记录非致命错误日志。 在我的例子中,我用它来记录来自服务器的除 200 之外的所有请求。 你也可以这样使用。

为此,您可以在完成所有配置后使用这个

FirebaseCrashlytics.instance.log('Here is My custom Error for it ');
© www.soinside.com 2019 - 2024. All rights reserved.