Как отправить исключение в Sentry, чтобы я мог найти его в выпусках?

#flutter #sentry

#flutter #часовой

Вопрос:

Я последовал за readme, чтобы настроить Sentry. После настройки я создал тест, который сообщает об исключении. Тест пройден, но я не вижу исключения в списке проблем Sentry.

Что может быть не так?

Репортер:

 import 'package:flutter/foundation.dart';
import 'package:sentry/sentry.dart';

class ReporterModule {
  final SentryClient _sentry;
  final bool outputToConsole;

  ReporterModule(String sentryDsn, {this.outputToConsole = true})
      : _sentry = sentryDsn == null ? null : SentryClient(dsn: sentryDsn);

  void reportError(FlutterErrorDetails details) {
    print('dsn: ${_sentry.dsnUri}');
    print('client: $_sentry');
    try {
      _sentry?.captureException(
        exception: details.exception,
        stackTrace: details.stack,
      );
    } catch (e) {
      print('Sending report to sentry.io failed: $e');
    } finally {
      if (outputToConsole) FlutterError.dumpErrorToConsole(details);
    }
  }
}
 

Тест:

   test('Error reporting completes.', () {
    var reporter = ReporterModule(prodConfig.sentryDsn, outputToConsole: false);
    reporter.reportError(FlutterErrorDetails(
        exception: "test exception", stack: StackTrace.current));
  });
 

Тестовый результат:

 dsn: https://a7c87a8f13894461b8d0af95284e5bd2@o484150.ingest.sentry.io/5536982
client: SentryClient("https://o484150.ingest.sentry.io/api/5536982/store/")
 

DSN скопирован отсюда:
введите описание изображения здесь

Комментарии:

1. привет @polina-c ваш DSN выглядит неправильно, обязательно скопируйте правильное значение со страницы настроек Sentry, документы: docs.sentry.io/product/sentry-basics/dsn-explainer

2. я думаю, что мой DSN выглядит именно так, как вы описали. Это просто клиент. toString() выглядит по-другому. Я обновил вопрос, чтобы вы могли его увидеть.

3. DSN выглядит следующим образом: {PROTOCOL}://{PUBLIC_KEY}:{SECRET_KEY}@{HOST}{PATH}/{PROJECT_ID} ваш пример заканчивается символом ‘/store/’, который не является частью DSN, путь /store добавляется SDK автоматически.

4. Я не понял вашей точки зрения. В тестовом выводе в конце моего сообщения я вижу, что dsn заканчивается на ‘5536982’ и ‘client. toString()’ заканчивается на ‘/store/’, что соответствует правилам, которые вы объяснили.