flex_logger_sentry 1.0.4 copy "flex_logger_sentry: ^1.0.4" to clipboard
flex_logger_sentry: ^1.0.4 copied to clipboard

Sentry integration for FlexLogger - provides error reporting and crash analytics capabilities.

flex_logger_sentry #

Pub Version License: MIT

Send FlexLogger logs to Sentry as breadcrumbs and events for error tracking and crash analytics in Flutter apps.

Contents #

Features #

  • Error tracking – Exceptions/errors in logs trigger Sentry.captureException via observer's onException/onError
  • Level mappingFlexLogLevel.toSentryLevel() extension (success → info, critical → fatal)
  • Breadcrumbs – All logs that pass the filter are added as breadcrumbs; warning/error/critical also create events (issues)
  • Filtering – Default MinLevelFilter(FlexLogLevel.error); override with any LogFilter
  • Sentry options – Optional optionsConfiguration callback for SentryFlutterOptions

Installation #

Add this to your package's pubspec.yaml file:

dependencies:
  flex_logger: ^1.0.0
  flex_logger_sentry: ^1.0.0

Then run:

flutter pub get

Setup #

1. Get Sentry DSN #

First, create a project in Sentry and get your DSN.

2. Basic Setup #

import 'package:flex_logger/flex_logger.dart';
import 'package:flex_logger_sentry/flex_logger_sentry.dart';

void main() async {
  FlexLogger.instance.configure(
    providers: [
      SentryLoggerProvider(
        dsn: 'YOUR_SENTRY_DSN_HERE',
        filter: const MinLevelFilter(FlexLogLevel.warning),
        optionsConfiguration: (options) {
          options.environment = 'production';
          options.release = '1.0.0';
        },
      ),
    ],
  );
  await FlexLogger.instance.initialize();

  runApp(MyApp());
}

3. Using Different Filters #

// Type-based filtering - only specific log types
SentryLoggerProvider(
  dsn: 'YOUR_SENTRY_DSN_HERE',
  filter: CompositeLogFilter.or([TypeFilter<ErrorLog>(), TypeFilter<CriticalLog>()]),
)

// Composite filtering - combine multiple conditions
SentryLoggerProvider(
  dsn: 'YOUR_SENTRY_DSN_HERE',
  filter: CompositeLogFilter.and([
    MinLevelFilter(FlexLogLevel.warning),
    DevelopmentOnlyFilter(), // Only in development
  ]),
)

Usage #

Once configured, logs that pass the provider's filter are sent to Sentry (breadcrumbs and/or events). Use FlexLogger as usual:

import 'package:flex_logger/flex_logger.dart';

void doSomething() {
  try {
    FlexLogger.instance.info('Operation completed successfully');
  } catch (error, stackTrace) {
    FlexLogger.instance.error('Operation failed', error, stackTrace);
  }
}

Exceptions and errors in logs are captured by the Sentry observer via onException / onError and sent with Sentry.captureException.

Log Level Mapping #

FlexLogger Level Sentry Level Behavior
debug debug Breadcrumb only
info info Breadcrumb only
success info Breadcrumb only
warning warning Breadcrumb + Event (issue)
error error Breadcrumb + Event (issue)
critical fatal Breadcrumb + Event (fatal issue)

All logs that pass the filter are added as breadcrumbs. warning, error, and critical additionally create events (issues) in Sentry. Logs with exceptions use captureException instead of captureMessage.

Configuration Options #

SentryLoggerProvider Parameters #

Parameter Type Default Description
dsn String required Your Sentry project DSN
filter LogFilter MinLevelFilter(FlexLogLevel.error) Filter to determine which logs to send
optionsConfiguration void Function(SentryFlutterOptions)? null Callback to configure all Sentry options

Available Filters #

Filter Description Example
MinLevelFilter Filter by minimum log level MinLevelFilter(FlexLogLevel.warning)
TypeFilter Filter specific log type TypeFilter<ErrorLog>()
DevelopmentOnlyFilter Only log in development mode DevelopmentOnlyFilter()
CompositeLogFilter Combine multiple filters CompositeLogFilter.and([...])

For all available Sentry options see SentryFlutterOptions.

License #

This project is licensed under the MIT License - see the LICENSE file for details.

0
likes
150
points
277
downloads

Publisher

verified publisherkrajna.dev

Weekly Downloads

Sentry integration for FlexLogger - provides error reporting and crash analytics capabilities.

Homepage
Repository (GitLab)
View/report issues

Topics

#logging #sentry #error-tracking #crash-reporting

Documentation

API reference

License

MIT (license)

Dependencies

flex_logger, flutter, sentry_flutter

More

Packages that depend on flex_logger_sentry