dio_logger error at web environment.
wangmir opened this issue · 1 comments
wangmir commented
dio_logger emit error on XMLHttpRequest error of web environment when using flutter_loggy_dio.
XMLHttpRequest error is derived from CORS issue when launching flutter web environment (especially when debugging).
And in this situation, if I use dio logging with flutter_loggy_dio, the error log is not printed properly and even for the exception path because it crashed at logging stage rather than network error.
at dio_logger.dart,
_value was "<<< DioError │ GET │ null null │ null"
crash point in logger was on flutter_loggy_dio/diop_logger.dart: 166
void _commit(LogLevel level) {
if (level.priority >= LogLevel.error.priority) {
final String _valueError = _value.toString();
final String _errorTitle = _valueError.substring(0, _valueError.indexOf('\n')); // this line
final String _errorBody = _valueError.substring(_errorTitle.length);
loggy.log(level, _errorTitle, _errorBody);
} else {
loggy.log(level, _value.toString());
}
_value.clear();
}
and error was
22:12:24.742: [E] packages/ming/main.dart 36:12 in <fn>: Error: Uncaught Error.
RangeError (end): Invalid value: Not in inclusive range 0..37: -1
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 251:49 throw_
dart-sdk/lib/core/errors.dart 356:9 checkValidRange
dart-sdk/lib/_internal/js_dev_runtime/private/js_string.dart 168:22 substring]
packages/flutter_loggy_dio/flutter_loggy_dio/dio_logger.dart 166:45 [_commit]
packages/flutter_loggy_dio/flutter_loggy_dio/dio_logger.dart 92:5 onError$
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54 runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5 _async
packages/flutter_loggy_dio/flutter_loggy_dio/dio_logger.dart 74:15 onError
packages/dio/src/dio_mixin.dart 574:28 <fn>
packages/dio/src/dio_mixin.dart 789:22 checkIfNeedEnqueue
packages/dio/src/dio_mixin.dart 572:22 <fn>
dart-sdk/lib/async/future.dart 252:37 <fn>
dart-sdk/lib/async/zone.dart 1418:47 _rootRun
dart-sdk/lib/async/zone.dart 1328:19 run
dart-sdk/lib/async/zone.dart 1236:7 runGuarded
dart-sdk/lib/async/zone.dart 1276:23 <fn>
dart-sdk/lib/async/zone.dart 1426:13 _rootRun
dart-sdk/lib/async/zone.dart 1328:19 run
dart-sdk/lib/async/zone.dart 1260:23 <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 48:19 internalCallback
zenled commented
Closing, the latest release of the flutter_loggy_dio package should resolve this.
If the problem persists, feel free to reopen this issue.