美文网首页Android学习记录
Flutter日志上报和异常上报

Flutter日志上报和异常上报

作者: 旺仔_100 | 来源:发表于2020-12-22 15:52 被阅读0次

    一、只能收集同步报错异常的方式

      FlutterError.onError = (FlutterErrorDetails details) async {
     
        ///这种方式,异步无法打印消息
        // print("${details.exception.toString()}");
        // print("over");
        // print("stack:${details.stack.toString()}");
        // print("stack:over");
      };
    

    二、使用Zone收集,这种同步和异步报错都可以收集,还可以收集日志

    FlutterError.onError = (FlutterErrorDetails details) async {
        ///把异常交个Zone处理
        Zone.current.handleUncaughtError(details.exception, details.stack);
      };
    
      runZonedGuarded(
        () {
          ///flutter程序的入口
          runApp(MyApp());
        },
        (Object obj, StackTrace stack) {
          ///自行自己的上报操作
          ///obj类似于msg的东西
          ///stack是报错的堆栈信息
          reportError(obj, stack);
        },
        ///可以获取所有的print日志信息
        zoneSpecification: ZoneSpecification(
            print: (Zone self, ZoneDelegate parent, Zone zone, String line) {
          parent.print(zone, "line是啥:$line");
        }),
      );
    
    

    使用直接看上面的注释解释,打完收工。

    相关文章

      网友评论

        本文标题:Flutter日志上报和异常上报

        本文链接:https://www.haomeiwen.com/subject/yhysnktx.html