플러터에서 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
매개변수를 통해 설정할 수 있습니다. 아래는 로깅 수준의 예시입니다.
LogLevel.none
: 로깅을 하지 않습니다.LogLevel.error
: 오류 메시지만 로깅합니다.LogLevel.warning
: 오류 및 경고 메시지를 로깅합니다.LogLevel.info
: 오류, 경고 및 정보 메시지를 로깅합니다.LogLevel.debug
: 모든 메시지를 로깅합니다.
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 디버깅이나 문제 해결에 도움이 될 수 있습니다. 이를 통해 효율적인 앱 개발을 진행할 수 있습니다.
- 참고: dio_logger 패키지
- 참고: dio 패키지