如何获取print
控制台日志和屏幕截图,以便我可以将堆栈跟踪发送到服务器?
答案 0 :(得分:3)
您可以使用本机代码获取FlutterView的屏幕截图。
Bitmap screenshot = flutterView.getBitmap();
请参阅有关混合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 文件。它对我们有用,希望这会有所帮助。