logEvent method

  1. @override
Future<void> logEvent(
  1. String name,
  2. AnalyticLevel level, [
  3. Map<String, Object?>? parameters
])
override

Logs a custom event with optional parameters.

Implementation

@override
Future<void> logEvent(String name, AnalyticLevel level,
    [Map<String, Object?>? parameters]) async {
  switch (level) {
    case AnalyticLevel.info:
      await Sentry.captureMessage(
        name,
        level: SentryLevel.info,
        withScope: (scope) {
          if (parameters != null) {
            scope.setContexts('parameters', parameters);
          }
        },
      );
      break;
    case AnalyticLevel.debug:
      await Sentry.captureMessage(
        name,
        level: SentryLevel.debug,
        withScope: (scope) {
          if (parameters != null) {
            scope.setContexts('parameters', parameters);
          }
        },
      );
      break;
    case AnalyticLevel.fatal:
      await Sentry.captureMessage(
        name,
        level: SentryLevel.fatal,
        withScope: (scope) {
          if (parameters != null) {
            scope.setContexts('parameters', parameters);
          }
        },
      );
      break;
    case AnalyticLevel.error:
      await Sentry.captureMessage(
        name,
        level: SentryLevel.error,
        withScope: (scope) {
          if (parameters != null) {
            scope.setContexts('parameters', parameters);
          }
        },
      );
      break;
  }
}