背景
私はFlutterのHttpクライアントにDioを使っています。
今回は通信がうまくいっていなかったため、ログを確認したいと思いました。
対応
DioにはInterceptorを追加することができます。
今回はデフォルトで用意されているLogInterceptor
を追加しました。
final dio = Dio();
dio.interceptors.add(LogInterceptor());
この状態で通信すると下記のようにログが出力されます。
I/flutter (27182): *** Request ***
I/flutter (27182): uri: <リクエストURL>
I/flutter (27182): method: GET
I/flutter (27182): contentType: application/json; charset=utf-8
I/flutter (27182): responseType: ResponseType.json
I/flutter (27182): followRedirects: true
I/flutter (27182): connectTimeout: 0
I/flutter (27182): receiveTimeout: 0
I/flutter (27182): extra: {}
I/flutter (27182): header:
I/flutter (27182): <ヘッダー名>: <値>
I/flutter (27182):
I/flutter (27182): *** DioError ***:
I/flutter (27182): DioError [DioErrorType.RESPONSE]: Http status error [404]
I/flutter (27182): uri: <リクエストURL>
I/flutter (27182): statusCode: 404
I/flutter (27182): headers:
I/flutter (27182): <ヘッダー名>: <値>
I/flutter (27182):
どうやら404でエラーになっていたようです。