美文网首页
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