mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-07-01 20:43:20 +08:00
logException: Also log to Sentry
This commit is contained in:
@ -3,6 +3,7 @@ import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_crashlytics/flutter_crashlytics.dart';
|
||||
import 'package:gitjournal/error_reporting.dart';
|
||||
import 'package:path/path.dart' as p;
|
||||
import 'package:collection/collection.dart';
|
||||
|
||||
@ -110,7 +111,7 @@ class NotesCache {
|
||||
return json.decode(contents).cast<String>();
|
||||
} catch (ex, st) {
|
||||
Log.e("Exception - $ex for contents: $contents");
|
||||
await FlutterCrashlytics().logException(ex, st);
|
||||
await logException(ex, st);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
@ -107,3 +107,21 @@ Future<void> reportError(Object error, StackTrace stackTrace) async {
|
||||
print("Uncaught Exception: $error");
|
||||
print(stackTrace);
|
||||
}
|
||||
|
||||
Future<void> logException(Exception e, StackTrace stackTrace) async {
|
||||
if (!reportCrashes) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
final sentry = await getSentryClient();
|
||||
await sentry.captureException(
|
||||
exception: e,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
} catch (e) {
|
||||
print("Failed to report with Sentry: $e");
|
||||
}
|
||||
|
||||
return FlutterCrashlytics().logException(e, stackTrace);
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import 'package:flutter_crashlytics/flutter_crashlytics.dart';
|
||||
|
||||
import 'package:gitjournal/analytics.dart';
|
||||
import 'package:gitjournal/apis/githost_factory.dart';
|
||||
import 'package:gitjournal/error_reporting.dart';
|
||||
import 'package:gitjournal/settings.dart';
|
||||
import 'package:gitjournal/utils/logger.dart';
|
||||
|
||||
@ -122,7 +123,7 @@ class GitHostSetupAutoConfigureState extends State<GitHostSetupAutoConfigure> {
|
||||
},
|
||||
);
|
||||
|
||||
FlutterCrashlytics().logException(e, stacktrace);
|
||||
logException(e, stacktrace);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -11,6 +11,7 @@ import 'package:gitjournal/core/notes_cache.dart';
|
||||
import 'package:gitjournal/core/notes_folder.dart';
|
||||
import 'package:gitjournal/core/notes_folder_fs.dart';
|
||||
import 'package:gitjournal/core/git_repo.dart';
|
||||
import 'package:gitjournal/error_reporting.dart';
|
||||
import 'package:gitjournal/features.dart';
|
||||
import 'package:gitjournal/settings.dart';
|
||||
import 'package:gitjournal/utils/logger.dart';
|
||||
@ -117,7 +118,7 @@ class StateContainer with ChangeNotifier {
|
||||
appState.syncStatus = SyncStatus.Error;
|
||||
notifyListeners();
|
||||
if (shouldLogGitException(e)) {
|
||||
await FlutterCrashlytics().logException(e, stacktrace);
|
||||
await logException(e, stacktrace);
|
||||
}
|
||||
if (!doNotThrow) rethrow;
|
||||
}
|
||||
|
Reference in New Issue
Block a user