플러터를 사용하여 모바일 앱을 개발하다보면 서버와의 통신 로그를 확인하는 것이 중요합니다. Dio_logger는 Dio라이브러리의 통신 로그를 쉽게 출력하고 분석할 수 있도록 도와주는 유용한 도구입니다. 이번 글에서는 Dio_logger를 사용하여 플러터 앱의 통신 로그를 분석하는 방법에 대해 알아보겠습니다.
Dio_logger란?
Dio는 플러터에서 사용할 수 있는 강력하고 유연한 HTTP 클라이언트 라이브러리입니다. Dio_logger는 Dio 라이브러리의 로깅 기능을 향상시켜 통신 로그를 자세히 확인할 수 있도록 도와줍니다.
Dio_logger 설치하기
Dio_logger를 사용하기 위해서는 먼저 dio
와 dio_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.none
: 로그를 출력하지 않음LoggerLevel.requests
: 요청 로그만 출력LoggerLevel.requestsBody
: 요청 로그 및 본문(body) 출력LoggerLevel.headers
: 요청/응답 로그 및 헤더(headers) 출력LoggerLevel.body
: 요청/응답 로그 및 본문(body) 출력
위의 예제에서는 로그 레벨로 LoggerLevel.headers
를 지정하여 요청/응답 로그와 헤더를 출력합니다.
결론
Dio_logger를 사용하면 플러터 앱의 통신 로그를 쉽게 분석할 수 있습니다. Dio_logger를 적용하여 개발 중인 앱의 통신 상태를 실시간으로 확인하고 문제를 해결할 수 있습니다. 플러터 개발 시 Dio_logger를 활용해 보세요!
참고 자료: