[flutter] pretty_dio_logger를 사용한 API 요청 및 응답 로깅

이번 포스트에서는 Flutter 애플리케이션에서 API 요청 및 응답을 로깅하기 위해 pretty_dio_logger 라이브러리를 사용하는 방법에 대해 알아보겠습니다.

pretty_dio_logger란?

pretty_dio_logger는 Dio 클라이언트에서 네트워크 요청 및 응답을 보기 좋게 로깅할 수 있는 Flutter용 라이브러리입니다. 이 라이브러리를 사용하면 네트워크 요청과 응답의 세부 정보를 쉽게 확인할 수 있어 디버깅에 유용합니다.

pretty_dio_logger 설치

먼저, pretty_dio_logger를 프로젝트에 추가하려면, pubspec.yaml 파일에 아래와 같이 라이브러리를 추가합니다.

dependencies:
  dio: ^4.0.0
  pretty_dio_logger: ^1.0.7

그리고 터미널에서 아래 명령어를 실행하여 의존성을 업데이트합니다.

flutter pub get

pretty_dio_logger를 통한 로깅 설정

pretty_dio_logger를 사용하여 API 요청 및 응답을 로깅하려면, 다음과 같이 Dio 인스턴스를 생성하고 PrettyDioLogger를 추가하면 됩니다.

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

void main() {
  Dio dio = Dio();
  dio.interceptors.add(PrettyDioLogger());
}

위 코드에서 PrettyDioLoggerDio 인스턴스의 인터셉터로 추가되어 네트워크 요청과 응답을 로깅합니다.

요청 및 응답 로깅 확인

이제 pretty_dio_logger를 추가한 후에 애플리케이션을 실행하면 콘솔에 아래와 유사한 로그를 확인할 수 있습니다.

Dio ╎ [POST] ╎ http://api.example.com/users ╎ │ 00:00:01.002 ╎ │ 200 ╎ ✔
Request data ╎
{
  "name": "John Doe",
  "email": "john.doe@example.com"
}
Response headers ╎
cache-control: max-age=31536000
content-type: application/json; charset=utf-8
{
  "id": 123,
  "name": "John Doe",
  "email": "john.doe@example.com"
}

로깅된 정보에는 HTTP 메서드, 요청 URL, 소요 시간, 상태 코드, 요청 및 응답 데이터 등이 포함되어 있어 디버깅에 매우 유용합니다.

결론

Flutter 애플리케이션에서 API 요청과 응답을 보다 효과적으로 디버깅하고 추적하기 위해 pretty_dio_logger 라이브러리를 사용하는 방법에 대해 알아보았습니다. 이 라이브러리를 사용하면 네트워크 통신에 관련된 문제를 더 쉽게 해결할 수 있게 됩니다.

더 많은 기능 및 옵션에 대해서는 공식 pretty_dio_logger GitHub 페이지를 참고하세요.