[flutter] pretty_dio_logger를 활용한 로그 필터링 방법

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를 사용하여 로그 필터링을 구현하는 방법에 대해 알아보았습니다. 효과적인 로깅은 앱의 성능을 모니터링하고 디버깅하는 데 중요합니다. 이를 통해 원하는 정보만 로깅하고 필요없는 로그를 줄일 수 있습니다.