美文网首页
Flutter中使用日志搜集平台 Sentry

Flutter中使用日志搜集平台 Sentry

作者: Hunter琼 | 来源:发表于2023-04-24 17:37 被阅读0次

搭建Sentry本地服务

Sentry的服务器在国外,使用官网(https://sentry.io./_/captchav2/),一般情况下是无法在开发者账号中创建应用的,官方给我们提供了一套搭建本地Sentry服务端的项目(https://github.com/getsentry/self-hosted
首先我们需要安装一个dock桌面,mac的下载地址为https://docs.docker.com/desktop/install/mac-install/

Dock桌面

dock桌面 安装成功后,在项目中执行./install.sh.Fetching and updating Docker images ... 这个需要执行好长时间,如果不使用国内镜像,非常慢的,笔者用了8小时。
执行成功后设置开发者账号,设置成功后可以在项目config.yml文件中查看。

# mail.backend: 'smtp'  # Use dummy if you want to disable email entirely
# mail.host: 'smtp'
# mail.port: 25
# mail.username: 'xxx7@qq.com'
# mail.password: 'xxxxx'
# mail.use-tls: false
# mail.use-ssl: false

最后使用docker-compose 来管理Sentry的启动和关闭 。

启动Sentry docker-compose up -d --remove-orphans

Sentry启动后Dock容器

启动完成后 在浏览器输入 http://localhost:9000/auth/login/sentry/,打开后进入如下的界面:

Sentry本地服务.png

这样我们就搭建成功Sentry的本地服务了!!!

Flutter使用Sentry

1 创建应用

在浏览器输入http://localhost:9000/auth/login/sentry/,登录开发者账号,
下面我们就可以创建flutter应用了。如下图

然后在我的工程中,就可以找到我们刚才创建的应用了。

2 flutter项目中集成SentrySDK

sentry: ^6.18.1

笔者用的是6 .18.1版本,SDK的升级还是很频繁的,目前已经到了7.4.2版本了。https://pub.dev/packages/sentry

3 flutter工程中使用Sentry

Future<void> main() async {
  runZonedGuarded(() async {
    await Sentry.init((options) => options.dsn =
        "http://948222677700454f891c345bc7d6c15d@localhost:9000/2");
    initApp();
  }, (exception, stackTrace) async {
    await Sentry.captureException(exception, stackTrace: stackTrace);
    // initApp();
  });
}

这里的dsn是在应用中获取:


dsn

结语

和国内的日志平台相比,Sentry 非常强大,日志种类全面,分类明确,集成也简单,支持平台几乎涵盖了所有主流平台,在安全允许的情况下,完全可以考虑搭建公司的Sentry日志服务。

相关文章

网友评论

      本文标题:Flutter中使用日志搜集平台 Sentry

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