diff --git a/lib/utilities/logger.dart b/lib/utilities/logger.dart index b0b37cd55..6cce323d7 100644 --- a/lib/utilities/logger.dart +++ b/lib/utilities/logger.dart @@ -11,6 +11,7 @@ import 'dart:convert'; import 'dart:core' as core; import 'dart:core'; +import 'dart:io'; import 'dart:isolate'; import 'dart:ui'; @@ -150,8 +151,16 @@ class Logging { ), toFile, )); - } catch (e, s) { - t("Isolates suck", error: e, stackTrace: s); + } catch (dispatchError, dispatchStackTrace) { + final originalMessage = _stringifyMessage(message); + final fallbackLines = [ + "[logging-fallback:$level] $originalMessage", + "dispatchError: $dispatchError", + if (error != null) "error: $error", + if (stackTrace != null) "stackTrace: $stackTrace", + "dispatchStackTrace: $dispatchStackTrace", + ]; + stderr.writeln(fallbackLines.join("\n")); } }