Dio는 Flutter 앱에서 HTTP 요청을 보내고 받을 수 있는 강력한 패키지입니다. pretty_dio_logger는 Dio의 로깅을 더 쉽게 만들어주는 패키지로, 요청과 응답을 가독성 있게 로깅할 수 있습니다. 그러나 때때로 로그가 너무 많아지는 문제가 발생할 수 있습니다. 그래서 특정 요청과 응답을 로그에서 필터링하는 방법에 대해 알아보겠습니다.
pretty_dio_logger 패키지 설치
먼저, pretty_dio_logger 패키지를 Flutter 프로젝트에 설치해야 합니다. 이를 위해 pubspec.yaml
파일에 다음과 같이 패키지를 추가합니다.
dependencies:
dio: ^4.0.0
pretty_dio_logger: ^1.7.0
그리고 flutter pub get
을 실행하여 패키지를 다운로드 및 설치합니다.
로그 필터링 방법
pretty_dio_logger를 사용하여 로그를 필터링하는 방법은 간단합니다. pretty_dio_logger의 PrettyDioLogger
클래스를 확장하고, logPrint
메서드를 오버라이딩하여 원하는 조건에 따라 로그를 출력하도록 설정할 수 있습니다. 예를 들어, 특정 경로에 대한 요청과 응답만 로깅하고 싶다면 다음과 같이 할 수 있습니다.
import 'package:dio/dio.dart';
import 'package:pretty_dio_logger/pretty_dio_logger.dart';
class MyDioLogger extends PrettyDioLogger {
@override
void logPrint(Options options, DateTime startTime, DateTime endTime, dynamic result, dynamic error) {
if (options.path.contains('/my-special-path')) {
super.logPrint(options, startTime, endTime, result, error);
}
}
}
void main() {
Dio dio = Dio();
dio.interceptors.add(MyDioLogger());
// 나머지 코드
}
이렇게 하면 ‘/my-special-path’를 포함한 요청과 응답만 로그에 출력됩니다.
로깅 필터링에 대한 추가적인 설정이나 커스터마이징이 필요한 경우, pretty_dio_logger 패키지 문서를 참고하시기 바랍니다.
pretty_dio_logger를 사용하여 로그 필터링을 구현하는 방법에 대해 알아보았습니다. 효과적인 로깅은 앱의 성능을 모니터링하고 디버깅하는 데 중요합니다. 이를 통해 원하는 정보만 로깅하고 필요없는 로그를 줄일 수 있습니다.