logDioError static method

Future<void> logDioError(
  1. DioException error
)

Logs a Dio error

Implementation

static Future<void> logDioError(DioException error) async {
  final response = error.response;
  final request = error.requestOptions;
  final timestamp = DateTime.now().toIso8601String();

  debugLog('------ Dio Error ------', level: LogLevel.error);
  debugLog('Timestamp: $timestamp', level: LogLevel.error);
  debugLog('Error: $error', level: LogLevel.error);
  debugLog(
    'Message: ${error.message ?? 'No message available'}',
    level: LogLevel.error,
  );

  // Request info
  debugLog('Request URL: ${request.baseUrl}', level: LogLevel.error);
  debugLog('Request Path: ${request.path}', level: LogLevel.error);
  debugLog(
    'Request Query: ${request.queryParameters.isNotEmpty ? request.queryParameters : 'None'}',
    level: LogLevel.error,
  );
  debugLog('Request Headers: ${request.headers}', level: LogLevel.error);
  debugLog('Request Data: ${request.data ?? 'None'}', level: LogLevel.error);

  // Response info
  if (response != null) {
    debugLog(
      'Response Status: ${response.statusCode ?? 'N/A'}',
      level: LogLevel.error,
    );
    debugLog(
      'Response Status Message: ${response.statusMessage ?? 'N/A'}',
      level: LogLevel.error,
    );
    debugLog(
      'Response Data: ${response.data ?? 'N/A'}',
      level: LogLevel.error,
    );
    debugLog(
      'Response Headers: ${response.headers.map}',
      level: LogLevel.error,
    );
  } else {
    debugLog('No response available', level: LogLevel.error);
  }

  debugLog('------ End Dio Error ------', level: LogLevel.error);
}