[flutter] Dio_logger를 사용하여 플러터 앱에서 수행된 API 요청의 타임아웃 여부를 확인하는 방법

개요

플러터(Flutter) 앱에서 API 요청을 처리할 때, 요청이 타임아웃 되는 경우를 확인하고 싶을 수 있습니다. Dio_logger는 Dio HTTP 클라이언트의 로깅 기능을 제공해주는 패키지로, 이를 사용하면 API 요청에 대한 자세한 로그를 확인할 수 있습니다. 이 글에서는 Dio_logger를 사용하여 플러터 앱에서 API 요청의 타임아웃 여부를 확인하는 방법에 대해 알아보겠습니다.

Dio_logger 설치

먼저, dio_logger 패키지를 pubspec.yaml 파일에 추가하여 설치해야 합니다. 아래는 pubspec.yaml 파일에 dio_logger 패키지를 추가하는 예시입니다.

dependencies:
  dio: ^3.0.10
  dio_logger: ^0.4.0

설치가 완료되었다면, 패키지를 import하여 사용할 준비를 해야 합니다.

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

Dio_logger 사용하기

Dio_logger를 사용하기 위해서는 Dio 객체에 Interceptors를 추가해야 합니다. 아래는 Dio_logger를 추가한 Dio 객체를 생성하는 예시입니다.

Dio dio = Dio();
dio.interceptors.add(DioLogger());

위 코드에서 Dio 객체에 DioLogger 인스턴스를 추가하여 Dio_logger를 활성화시켰습니다. 이제 dio 객체를 사용하여 API 요청을 보내면, Dio_logger가 해당 요청을 로깅하여 타임아웃 여부를 확인할 수 있습니다.

로그 확인하기

Dio_logger는 기본적으로 Console에 로그를 출력합니다. 따라서, API 요청을 실행한 뒤 Console을 확인하면 Dio_logger에 의한 로그를 확인할 수 있습니다. 아래는 Dio_logger에 의해 출력된 로그의 예시입니다.

I/flutter ( 4567): [DIO] ----> POST http://api.example.com/user
I/flutter ( 4567): [DIO] ----> END POST (205 bytes)
I/flutter ( 4567): [DIO] <---- HTTP RESPONSE 200

위 로그에서는 API 요청에 대한 메소드(POST), URL (http://api.example.com/user), 응답 코드 (200) 등을 확인할 수 있습니다. 만약 요청이 타임아웃되었다면, 로그에도 해당 정보가 표시될 것입니다.

결론

Dio_logger 패키지를 사용하면 플러터 앱에서 API 요청의 타임아웃 여부를 손쉽게 확인할 수 있습니다. Dio_logger를 활용하여 앱의 네트워크 작업을 디버깅하고 효율적으로 관리할 수 있습니다.

참고 자료