dio_http_logger

Pub Version

A powerful network interceptor for Dio, providing comprehensive logging of requests, responses and errors.

:zap: Screenshots

Screenshot 1 Screenshot 1 Screenshot 1 Screenshot 1 Screenshot 1

:zap:Features

  • Detailed Logging: Log request method, URL, headers, query parameters, request body, response status code, headers, request time, response time, request data size, response data size and response body.
  • Error stack-trace: Stack trace data directly from Dio in error requests.
  • Easy Integration: Add the interceptor to your Dio instance with just a few lines of code.

:zap:Installation

Add dio_http_logger to your pubspec.yaml file:

dependencies:  
 dio: ">=4.0.0 <6.0.0" //use the latest version, 5.6.0 was my latest, old version user DioError instead of DioException.
 .....
 dio_http_logger: ^latest_version

:zap:Getting Started

  1. Add DioNetworkLogger.instance.dioNetworkInterceptor to your dio object/instances.
final client = Dio();  
client.interceptors.add(DioNetworkLogger.instance.dioNetworkInterceptor!);
  1. Set the context for internal navigation on application start or naigation start.
DioNetworkLogger.instance.context = context;
  1. Use DioNetworkLogger.instance.overLayButtonWidget widget to direct navigate to the library (Use it at the root view of your application, this will make the button appear in every screen).
runApp(  
    MaterialApp(  
      home: Stack(  
        children: [  
          const MyApp(),  
          DioNetworkLogger.instance.overLayButtonWidget
       ],  
      ),  
    )  
);
  1. Or you can use DioNetworkLogger.instance.startNetworkLoggerScreen() to direct navigate to the library
//Use it on any callback
onPressed: () {
  DioNetworkLogger.instance.context = context;
  DioNetworkLogger.instance.startNetworkLoggerScreen();  
},

Libraries

dio_logger