Milad-Akarie / pretty_dio_logger

MIT License
230 stars 52 forks source link

How to omit logging of certain body types if `requestBody` and/or `responseBody` is `true`? #36

Closed Vovcharaa closed 2 months ago

Vovcharaa commented 1 year ago

I want to omit logging of Uint8List because such bodies can be several megabytes long and its heavily impact perfomance in debug mode. For example, if dio_image_provider is used or when uploading files. But I still want to see my JSON requests and responses.

nimi0112 commented 1 year ago

@Vovcharaa you can try this

  Future<String> doSomething() async {
    _dio.interceptors.removeWhere((element) => element is PrettyDioLogger);
    try {
      final response = await _dio.get(url);
      return 'bla';
    } catch (e) {
      return _handleErrors(e);
    } finally {
      _dio.interceptors.add(PrettyDioLogger(
        requestHeader: true,
        requestBody: true,
        responseBody: true,
        responseHeader: false,
        error: true,
        compact: true,
      ));
    }
  }
Milad-Akarie commented 2 months ago

user the new filter callback