[flutter] pretty_dio_logger를 사용한 지연 시간 모니터링

지난 주에 Flutter 애플리케이션을 개발하면서 네트워킹 라이브러리로 dio를 사용하면서 API 요청의 지연 시간을 모니터링할 필요성을 느꼈습니다. 이를 위해 pretty_dio_logger 패키지를 사용하여 dio 요청 및 응답의 지연 시간을 확인하는 방법에 대해 알아보겠습니다.

pretty_dio_logger란?

pretty_dio_logger는 dio 패키지의 인스턴스를 감싸면서 HTTP 요청 및 응답을 로깅하는 라이브러리입니다. 이를 통해 요청과 응답의 세부 정보를 쉽게 모니터링할 수 있습니다.

pretty_dio_logger 사용 방법

먼저, pubspec.yaml 파일에 pretty_dio_logger 패키지를 추가합니다.

dependencies:
  dio: ^3.0.10
  pretty_dio_logger: ^1.0.5

그리고 다음과 같이 pretty_dio_logger를 초기화하고 dio의 인스턴스를 감싸서 사용합니다.

import 'package:dio/dio.dart';
import 'package:pretty_dio_logger/pretty_dio_logger.dart';

void main() {
  Dio dio = Dio();
  dio.interceptors.add(PrettyDioLogger());
  
  // 나머지 코드
}

위의 코드에서 dio.interceptors.add(PrettyDioLogger())를 통해 pretty_dio_logger를 dio에 추가하고, 이제 HTTP 요청을 수행하면 pretty_dio_logger가 자동으로 로깅을 수행합니다.

예시

다음은 pretty_dio_logger를 사용하여 HTTP 요청과 응답을 로깅한 예시입니다.

I/flutter (30682): ┌───────────────── Request ─────────────────┐
I/flutter (30682):  Method: GET                                
I/flutter (30682):  Url: https://api.example.com/users        │
I/flutter (30682):  Headers:                                    
I/flutter (30682):    - accept: application/json               
I/flutter (30682): └───────────────────────────────────────────┘
I/flutter (30682): ┌───────────────── Response ────────────────┐
I/flutter (30682):  Status Code: 200                            
I/flutter (30682):  Headers:                                    
I/flutter (30682):    - content-type: application/json          
I/flutter (30682): ├────────────────────── Body ────────────────┤
I/flutter (30682):  {                                           
I/flutter (30682):    "id": 1,                                   
I/flutter (30682):    "name": "John Doe"                        
I/flutter (30682):  }                                           
I/flutter (30682): └───────────────────────────────────────────┘

결론

pretty_dio_logger를 사용하면 HTTP 요청 및 응답의 상세한 정보를 쉽게 모니터링할 수 있습니다. 이를 통해 네트워크 성능을 개선하거나 문제를 신속하게 해결할 수 있습니다. 다음번에 Flutter 애플리케이션을 개발할 때 pretty_dio_logger를 사용하여 네트워크 성능을 모니터링해 보세요.

참고 자료