SentryLoggerProvider class final

A logger provider that integrates with Sentry for error reporting and crash analytics.

This provider creates a SentryObserver that sends logs to Sentry and handles exceptions by reporting them to Sentry.

Example usage:

// Basic usage with default settings
final provider = SentryLoggerProvider(
  dsn: 'https://key@sentry.io/project',
);

// Events for warning+, breadcrumbs for debug+
final provider = SentryLoggerProvider(
  dsn: 'https://key@sentry.io/project',
  filter: const MinLevelFilter(FlexLogLevel.warning),
  breadcrumbFilter: const MinLevelFilter(FlexLogLevel.debug),
);

// With scope enrichment based on your own error types
final provider = SentryLoggerProvider(
  dsn: 'https://key@sentry.io/project',
  onEnrichScope: (scope, log) {
    final error = log.error;
    if (error is MyAppError) {
      scope
        ..setTag('error.code', error.code)
        ..fingerprint = [error.code];
    }
  },
);

// With custom Sentry configuration
final provider = SentryLoggerProvider(
  dsn: 'https://key@sentry.io/project',
  optionsConfiguration: (options) {
    options.environment = 'production';
    options.release = '1.0.0';
    options.sampleRate = 0.8;
    options.tracesSampleRate = 0.2;
    options.debug = true;
    options.captureFailedRequests = true;
    options.attachScreenshot = true;
    options.enableAutoPerformanceTracing = true;
  },
);

Constructors

SentryLoggerProvider({required String dsn, LogFilter filter = const MinLevelFilter(FlexLogLevel.error), LogFilter breadcrumbFilter = const MinLevelFilter(FlexLogLevel.info), SentryScopeEnricher? onEnrichScope, void optionsConfiguration(SentryFlutterOptions options)?, String? providerId})
Creates a Sentry logger provider with the specified settings.

Properties

Filter to determine which logs are recorded as Sentry breadcrumbs.
final
dsn → String
DSN (Data Source Name) for Sentry configuration.
final
filter → LogFilter
Filter to determine which logs create Sentry events (issues).
final
hashCode → int
The hash code for this object.
no setterinherited
onEnrichScope → SentryScopeEnricher?
Optional callback to enrich the Sentry Scope before a log is captured.
final
optionsConfiguration → void Function(SentryFlutterOptions options)?
Optional callback to configure SentryFlutterOptions.
final
providerId → String
Unique id for this provider (used for deduplication and lookup).
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

createObserver() → FlexObserver?
Creates the observer for log messages.
dispose() → Future<void>
Disposes any resources used by the provider.
initialize() → Future<void>
Initializes the provider.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited