mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-07-03 05:59:37 +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/material.dart';
|
||||||
import 'package:flutter_crashlytics/flutter_crashlytics.dart';
|
import 'package:flutter_crashlytics/flutter_crashlytics.dart';
|
||||||
|
import 'package:gitjournal/error_reporting.dart';
|
||||||
import 'package:path/path.dart' as p;
|
import 'package:path/path.dart' as p;
|
||||||
import 'package:collection/collection.dart';
|
import 'package:collection/collection.dart';
|
||||||
|
|
||||||
@ -110,7 +111,7 @@ class NotesCache {
|
|||||||
return json.decode(contents).cast<String>();
|
return json.decode(contents).cast<String>();
|
||||||
} catch (ex, st) {
|
} catch (ex, st) {
|
||||||
Log.e("Exception - $ex for contents: $contents");
|
Log.e("Exception - $ex for contents: $contents");
|
||||||
await FlutterCrashlytics().logException(ex, st);
|
await logException(ex, st);
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -107,3 +107,21 @@ Future<void> reportError(Object error, StackTrace stackTrace) async {
|
|||||||
print("Uncaught Exception: $error");
|
print("Uncaught Exception: $error");
|
||||||
print(stackTrace);
|
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/analytics.dart';
|
||||||
import 'package:gitjournal/apis/githost_factory.dart';
|
import 'package:gitjournal/apis/githost_factory.dart';
|
||||||
|
import 'package:gitjournal/error_reporting.dart';
|
||||||
import 'package:gitjournal/settings.dart';
|
import 'package:gitjournal/settings.dart';
|
||||||
import 'package:gitjournal/utils/logger.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.dart';
|
||||||
import 'package:gitjournal/core/notes_folder_fs.dart';
|
import 'package:gitjournal/core/notes_folder_fs.dart';
|
||||||
import 'package:gitjournal/core/git_repo.dart';
|
import 'package:gitjournal/core/git_repo.dart';
|
||||||
|
import 'package:gitjournal/error_reporting.dart';
|
||||||
import 'package:gitjournal/features.dart';
|
import 'package:gitjournal/features.dart';
|
||||||
import 'package:gitjournal/settings.dart';
|
import 'package:gitjournal/settings.dart';
|
||||||
import 'package:gitjournal/utils/logger.dart';
|
import 'package:gitjournal/utils/logger.dart';
|
||||||
@ -117,7 +118,7 @@ class StateContainer with ChangeNotifier {
|
|||||||
appState.syncStatus = SyncStatus.Error;
|
appState.syncStatus = SyncStatus.Error;
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
if (shouldLogGitException(e)) {
|
if (shouldLogGitException(e)) {
|
||||||
await FlutterCrashlytics().logException(e, stacktrace);
|
await logException(e, stacktrace);
|
||||||
}
|
}
|
||||||
if (!doNotThrow) rethrow;
|
if (!doNotThrow) rethrow;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user