diff --git a/packages/talker_flutter/lib/src/extensions/talker_flutter.dart b/packages/talker_flutter/lib/src/extensions/talker_flutter.dart index 0a13795e1..97e240427 100644 --- a/packages/talker_flutter/lib/src/extensions/talker_flutter.dart +++ b/packages/talker_flutter/lib/src/extensions/talker_flutter.dart @@ -11,12 +11,24 @@ extension TalkerFlutter on Talker { TalkerFilter? filter, }) => Talker( - logger: logger ?? TalkerLogger(output: _defaultFlutterOutput), + logger: logger ?? _defaultFlutterLogger(), observer: observer, settings: settings, filter: filter, ); + /// Default logger for Flutter: + /// - On web, disables ANSI colors to avoid UTF-8 encoding issues. + /// - On other platforms, enables colors by default. + static TalkerLogger _defaultFlutterLogger() => TalkerLogger( + output: _defaultFlutterOutput, + settings: TalkerLoggerSettings( + // Disable colors on web to prevent UTF-8 encoding issues + // with ANSI escape codes in the browser console + enableColors: !kIsWeb, + ), + ); + /// Default output function for Flutter: /// - On web, prints to console. /// - On iOS/macOS, uses `dart:developer.log`.