flutter 记录崩溃日志应该用什么?
firebase_crashlytics 和 sentry 感觉都是看命传输啊,开了✈️后台才能看到数据,没开就纯纯抽奖了,一开始没开居然能进让我误以为 firebase_crashlytics 可以直接用。。。
flutter 记录崩溃日志应该用什么?
7 回复
自建 sentry, 托管的太贵了
在用 bugsnag ,免费额度不够再考虑自建 sentry
感谢,又多了一个选择
现在 sentry 的服务器都要这些配置了😓 服务器有点伤不起
Docker 19.03.6+
Compose 2.0.1+
4 CPU Cores
16 GB RAM
20 GB Free Disk Space
功能做的比较全面复杂,错误报告/性能分析/会话回放等等,还是值的得,国内主要是带宽贵,我在 homelab 部署的服务
在Flutter中记录崩溃日志,可以采用以下几种方法:
-
Dart异常捕获:
- 局部捕获:使用
try-catch
捕获同步异常,使用catchError
捕获异步异常。 - 全局捕获:通过
runZoned
和onError
回调处理整个代码块的异常。
- 局部捕获:使用
-
Flutter框架异常处理:
- Flutter框架在构建页面时会进行异常捕获,并显示红色错误界面。
- 可以通过重写
ErrorWidget.builder
方法和注册FlutterError.onError
回调来自定义错误处理逻辑。
-
使用日志库:
- 可以使用如
logger
、logging
等日志库来更好地管理调试信息和崩溃日志。 - 这些库提供了丰富的日志级别和格式化选项,有助于在开发和生产环境中进行不同的处理。
- 可以使用如
-
集成第三方崩溃报告工具:
- 可以将崩溃日志集成到如Firebase Crashlytics、Bugly、xCrash等崩溃报告工具中。
- 这些工具提供了崩溃日志的收集、分析和上报功能,有助于快速定位和解决崩溃问题。
综上所述,Flutter记录崩溃日志的方法多种多样,可以根据项目需求和环境选择合适的方案。