【问题标题】:Flutter - Sentry how to send event and stop sending in debug modeFlutter - Sentry如何在调试模式下发送事件和停止发送
【发布时间】:2021-12-16 04:32:08
【问题描述】:

如何在 Sentry 中发送特定信息?文档中有事件,但是如何正确使用它们以及在哪里使用它们(例如:发送带有错误的用户电子邮件)?

Sentry 提供了这个源代码,但我必须在哪里使用它? :

 Sentry.configureScope(
      (scope) => scope.user = SentryUser(id: '1234', email: 'jane.doe@example.com'),
    );

还有如何在调试模式下停止发送报告?

【问题讨论】:

    标签: flutter sentry error-reporting


    【解决方案1】:

    只是添加一个简单的方法来为将来的任何人禁用debugMode 中的报告:

    如果SentryFlutter.init 中的dsn 不在ReleaseProfile 中,则将空字符串传递给它。

    kDebugMode常量在导入Foundation时可用

      await SentryFlutter.init(
        (options) {
          options.dsn = kDebugMode ? '' : sentryUrl;
        },
        appRunner: () => runApp(MyApp()),
      );
    

    【讨论】:

      【解决方案2】:

      @Rock 设置用户取决于你自己的业务逻辑,唯一重要的是调用Sentry.configureScope(...) 初始化SDK,而不是那个,任何地方都可以。

      对于在调试模式下不发送事件,有很多方法可以做到,您可以在调试模式下不初始化SDK,或者您可以在调试模式下过滤事件https://docs.sentry.io/platforms/flutter/configuration/filtering/

      【讨论】:

      • 嗨@Manoel 感谢您的回复,我在初始化哨兵后将 Sentry.configureScope(...) 放在了主目录中,但不幸的是它没有工作。在哨兵面板中仍然显示用户未知
      • 我注意到我试图在用户初始化之前发送用户数据,所以我把这个方法放在用户初始化之后并且它工作了。非常感谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      • 1970-01-01
      • 2011-10-20
      • 1970-01-01
      • 2022-01-19
      • 2021-01-27
      • 1970-01-01
      相关资源
      最近更新 更多