如何从flutter app发送打印日志?

时间:2017-09-03 07:53:14

标签: debugging flutter

如何获取print控制台日志和屏幕截图,以便我可以将堆栈跟踪发送到服务器?

2 个答案:

答案 0 :(得分:3)

您可以使用本机代码获取FlutterView的屏幕截图。

  • 在Android上:Bitmap screenshot = flutterView.getBitmap();
  • 在iOS上,请参阅Apple的此example

请参阅有关混合Dart和本机代码的platform channels文档。

至于堆栈跟踪,以下是Flutter Sentry library文档中的一些提示。

要从Flutter中获取堆栈跟踪,请覆盖onError处理程序:

FlutterError.onError = (FlutterErrorDetails details) async {
  throw details;
};

要创建具有捕获所有Dart例外的错误处理程序的区域,请将您的电话打包到runZoned中的runApp

runZoned<Future<Null>>(() async {
  runApp(new MyApp());
}, onError: (error, stackTrace) async {
  if (error is FlutterErrorDetails) {
    // use error.exception and error.stack
  } else {
    // use error and stackTrace
  }
});

答案 1 :(得分:0)

你可以使用 f_logs 包,它有将日志导出到手机目录的功能,它有 .db 和 .txt 的日志,然后你可以使用 flutter_archive 包压缩文件,然后使用 flutter_email_sender发送包含开发团队日志的 zip 文件。它对我们有用,希望这会有所帮助。