[flutter] Dio_logger를 사용하여 플러터 앱에 전송된 요청을 확인하는 방법

플러터에서 API 요청을 보내는 경우, 어떤 요청이 전송되는지 확인하고 디버깅할 필요가 있을 수 있습니다. 이를 위해 dio_logger 패키지를 사용하여 플러터 앱에 전송된 요청을 확인할 수 있습니다. 이번 포스트에서는 dio_logger 패키지를 사용하는 방법에 대해 알아보겠습니다.

1. dio_logger 패키지 추가하기

dio_logger 패키지를 사용하기 위해 프로젝트의 pubspec.yaml 파일에 패키지를 추가해야 합니다. 아래와 같이 dependencies 섹션에 패키지를 추가합니다.

dependencies:
  dio: ^3.0.0
  dio_logger: ^4.0.0

패키지를 추가한 후, 터미널에서 flutter pub get 명령어를 실행하여 패키지를 다운로드합니다.

2. DioLogger 생성하기

dio_logger 패키지를 사용하기 위해 DioLogger 인스턴스를 생성해야 합니다. 일반적으로 앱의 main.dart 파일에서 생성하는 것이 가장 편리합니다.

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

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

  // 앱 실행 코드 추가
}

위의 예시에서는 Dio 인스턴스를 생성하고, DioLogger 인스턴스를 interceptors에 추가하였습니다.

3. Dio 로깅 수준 설정하기

DioLogger 인스턴스를 생성한 후, 로깅 수준을 설정할 수 있습니다. 로깅 수준은 DioLogger 생성자의 logLevel 매개변수를 통해 설정할 수 있습니다. 아래는 로깅 수준의 예시입니다.

import 'package:dio_logger/dio_logger.dart';

void main() {
  DioLogger logger = DioLogger(logLevel: LogLevel.debug);
  Dio dio = Dio();
  dio.interceptors.add(logger);

  // 앱 실행 코드 추가
}

위의 예시에서는 로깅 수준을 debug로 설정하였습니다. 따라서 모든 메시지가 로깅됩니다.

4. Dio 요청 확인하기

dio_logger 패키지를 이용하여 요청을 확인하려면, Dio 인스턴스를 통해 API 요청을 보내면 됩니다. 이 때, 로깅 수준에 따라 로그가 출력됩니다.

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

void main() {
  DioLogger logger = DioLogger(logLevel: LogLevel.debug);
  Dio dio = Dio();
  dio.interceptors.add(logger);

  // API 요청
  dio.get('https://api.example.com/posts').then((response) {
    // 응답 처리
    print(response.data);
  });
  
  // 앱 실행 코드 추가
}

위의 예시에서는 dio.get 메서드를 사용하여 https://api.example.com/posts에 GET 요청을 보냅니다. 이때 DioLogger를 통해 전송된 요청이 콘솔에 출력됩니다.

결론

dio_logger 패키지를 사용하면 플러터 앱에서 전송된 요청을 확인할 수 있습니다. 잘 활용하면 API 디버깅이나 문제 해결에 도움이 될 수 있습니다. 이를 통해 효율적인 앱 개발을 진행할 수 있습니다.