플러터(Flutter)로 개발된 앱에서 네트워크 요청과 응답을 디버깅하고 로깅하기 위해서는 Dio_logger 패키지를 이용할 수 있습니다. Dio_logger 패키지는 Dio HTTP 클라이언트를 확장하여 통신 로그를 기록하는 기능을 제공합니다.
Dio_logger 패키지 설치
먼저 pubspec.yaml
파일에서 dependencies에 Dio_logger를 추가해야 합니다:
dependencies:
dio: ^4.0.0
dio_logger: ^4.0.0
그리고 패키지를 설치하기 위해 터미널에서 다음 명령을 실행합니다:
flutter pub get
Dio_logger 사용 방법
- Dio 인스턴스 생성:
Dio_logger를 사용하기 위해서는 먼저 Dio 인스턴스를 생성해야 합니다. 기본 Dio 인스턴스를 생성하거나 필요에 따라 설정을 추가할 수 있습니다. 아래는 Dio 인스턴스 생성 예시입니다:
import 'package:dio/dio.dart';
import 'package:dio_logger/dio_logger.dart';
Dio dio = Dio();
- Dio_logger 설정 및 Dio 인스턴스에 추가:
dio.interceptors.add(DioLogger());
- Dio 인스턴스를 사용하여 네트워크 요청 수행:
Dio 인스턴스를 사용하여 일반적인 방식으로 네트워크 요청을 수행할 수 있습니다. Dio_logger는 요청과 응답을 자동으로 로깅합니다.
- Dio_logger 로그 출력 설정 (선택 사항):
디폴트로 Dio_logger는 디버그 출력 레벨로 동작하지만, 로그 레벨을 변경할 수도 있습니다. Dio_logger에서 제공하는 로그 레벨은 다음과 같습니다:
- DioLogger.none: 로그 기록을 하지 않습니다.
- DioLogger.error: 오류 메시지만 로그에 출력합니다.
- DioLogger.response: 응답 정보를 로그에 출력합니다.
- DioLogger.request: 요청 정보를 로그에 출력합니다.
- DioLogger.debug: 요청과 응답 정보를 로그에 출력합니다.
예를 들어, Dio_logger 로그 출력 레벨을 DioLogger.debug
로 설정하려면 다음과 같이 수행합니다:
dio.interceptors.add(DioLogger(requestHeader: true, requestBody: true, responseHeader: true, responseBody: true, logPrint: debugPrint, errorPrint: errorPrint, requestLog: true, responseLog: true, logLevel: DioLogger.debug));
로깅 레벨을 변경할 때는 Dio 인스턴스를 초기화해야 합니다.
Dio_logger를 사용하면 앱의 통신 로그를 쉽게 기록하고 디버깅할 수 있습니다. 이를 통해 네트워크 요청과 응답에 대한 디테일한 정보를 얻을 수 있습니다.
더 많은 Dio_logger 설정 옵션 및 사용법에 대해서는 Dio_logger GitHub 페이지를 참조하세요.