[flutter] Dio_logger를 사용하여 플러터 앱의 통신 로그를 분석하는 방법

플러터를 사용하여 모바일 앱을 개발하다보면 서버와의 통신 로그를 확인하는 것이 중요합니다. Dio_logger는 Dio라이브러리의 통신 로그를 쉽게 출력하고 분석할 수 있도록 도와주는 유용한 도구입니다. 이번 글에서는 Dio_logger를 사용하여 플러터 앱의 통신 로그를 분석하는 방법에 대해 알아보겠습니다.

Dio_logger란?

Dio는 플러터에서 사용할 수 있는 강력하고 유연한 HTTP 클라이언트 라이브러리입니다. Dio_logger는 Dio 라이브러리의 로깅 기능을 향상시켜 통신 로그를 자세히 확인할 수 있도록 도와줍니다.

Dio_logger 설치하기

Dio_logger를 사용하기 위해서는 먼저 diodio_logger 패키지를 설치해야 합니다. pubspec.yaml 파일에 다음과 같이 의존성 패키지를 추가하세요.

dependencies:
  dio: ^4.0.0
  dio_logger: ^4.0.0

의존성을 추가한 후 터미널에서 flutter pub get 명령을 실행하여 패키지를 설치합니다.

Dio_logger 적용하기

다음으로 Dio_logger를 적용하는 방법에 대해 알아보겠습니다.

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

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

위의 코드에서 Dio()로 생성한 Dio 인스턴스에 DioLogger() 인터셉터를 추가하여 Dio_logger를 적용합니다.

Dio_logger 사용하기

Dio_logger를 적용한 후 통신할 API 호출 코드를 작성하면 Dio_logger가 자동으로 통신 로그를 출력합니다.

await dio.get('https://api.example.com/posts');

위의 코드는 https://api.example.com/posts 주소로 GET 요청을 보냅니다. Dio_logger가 통신 로그를 출력하여 다음과 같은 내용을 볼 수 있습니다.

Dio ──> GET https://api.example.com/posts
Dio ──> END GET
Dio <── RESPONSE 200 https://api.example.com/posts (1234ms)

위의 로그에서는 요청한 메서드(GET), URL, 응답 상태(200), 응답 시간(1234ms) 등을 확인할 수 있습니다.

통신 로그 레벨 설정하기

기본적으로 Dio_logger는 통신 로그를 출력하지만, 필요에 따라 로그 레벨을 설정할 수도 있습니다. Dio_logger의 생성자에 로그 레벨(loggerLevel)을 지정해주면 됩니다.

final dio = Dio();
dio.interceptors.add(DioLogger(loggerLevel: LoggerLevel.headers));

로그 레벨로는 다음과 같은 옵션들을 사용할 수 있습니다.

위의 예제에서는 로그 레벨로 LoggerLevel.headers를 지정하여 요청/응답 로그와 헤더를 출력합니다.

결론

Dio_logger를 사용하면 플러터 앱의 통신 로그를 쉽게 분석할 수 있습니다. Dio_logger를 적용하여 개발 중인 앱의 통신 상태를 실시간으로 확인하고 문제를 해결할 수 있습니다. 플러터 개발 시 Dio_logger를 활용해 보세요!

참고 자료: