errorgap 0.1.0 copy "errorgap: ^0.1.0" to clipboard
errorgap: ^0.1.0 copied to clipboard

Flutter notifier for Errorgap error tracking — reports uncaught Flutter and Dart errors with backtraces and device context to your Errorgap project.

errorgap (Flutter) #

Flutter/Dart notifier for Errorgap. Hooks FlutterError.onError (framework-level Dart errors) and PlatformDispatcher.instance.onError (uncaught zone errors). Native crashes (Android JNI, iOS Objective-C) are out of scope for v1; pair with the native SDKs (errorgap-android, errorgap-swift) until a Pigeon bridge ships.

Requires Dart 3.0+.

Install #

dependencies:
  errorgap: ^0.1.0

Configure #

import 'package:errorgap/errorgap.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/widgets.dart';
import 'dart:ui';

void main() {
  WidgetsFlutterBinding.ensureInitialized();

  Errorgap.init(ErrorgapConfiguration(
    endpoint:    'https://errorgap.example.com',
    projectSlug: 'your-project',
    apiKey:      const String.fromEnvironment('ERRORGAP_API_KEY'),
    environment: kReleaseMode ? 'production' : 'development',
    release:     const String.fromEnvironment('APP_VERSION'),
    deviceInfo: <String, Object?>{
      'os_name': defaultTargetPlatform.toString(),
    },
  ));

  FlutterError.onError = (FlutterErrorDetails details) {
    Errorgap.notify(details.exception, stackTrace: details.stack);
    FlutterError.presentError(details);
  };

  PlatformDispatcher.instance.onError = (Object error, StackTrace stack) {
    Errorgap.notify(error, stackTrace: stack);
    return true;
  };

  runApp(const MyApp());
}

Manual notification #

try {
  await risky();
} catch (error, stack) {
  await Errorgap.notify(error, stackTrace: stack, context: <String, Object?>{
    'component': 'checkout',
  });
  rethrow;
}

notify returns a DeliveryResult (status, body, error, queued). The SDK never throws.

Configuration reference #

Field Default Notes
endpoint ERRORGAP_ENDPOINT or http://127.0.0.1:3030
projectSlug ERRORGAP_PROJECT_SLUG Required
projectId ERRORGAP_PROJECT_ID
apiKey ERRORGAP_API_KEY Sent as x-errorgap-project-key
environment ERRORGAP_ENVIRONMENT or production
release
async true Background queue + worker
filterKeys [password, token, ...] Substring, case-insensitive
timeoutSeconds 5 HTTP request timeout
queueSize 100 Bounded queue
deviceInfo {} Caller-supplied device fingerprint

Graceful shutdown #

await Errorgap.flush();
await Errorgap.shutdown();

Development #

dart pub get
dart test

License #

MIT.

0
likes
140
points
135
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Flutter notifier for Errorgap error tracking — reports uncaught Flutter and Dart errors with backtraces and device context to your Errorgap project.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

http

More

Packages that depend on errorgap