Index: search_api.rules.inc
===================================================================
--- search_api.rules.inc	(revision 641)
+++ search_api.rules.inc	(working copy)
@@ -32,6 +32,14 @@
         'default value' => TRUE,
         'restriction' => 'input',
       ),
+      'index_verbose' => array(
+        'type' => 'boolean',
+        'label' => t('Verbose mode'),
+        'description' => t('Activate for logging watchdog message about indexing operation. Note that this setting is only useful if Index immediately is chosen above.'),
+        'optional' => TRUE,
+        'default value' => FALSE,
+        'restriction' => 'input',
+      ),
     ),
     'group' => t('Search API'),
     'access callback' => '_search_api_rules_access',
@@ -51,7 +59,7 @@
 /**
  * Rules action for indexing an item.
  */
-function _search_api_rules_action_index(EntityDrupalWrapper $wrapper, SearchApiIndex $index = NULL, $index_immediately = TRUE) {
+function _search_api_rules_action_index(EntityDrupalWrapper $wrapper, SearchApiIndex $index = NULL, $index_immediately = TRUE, $index_verbose = FALSE ) {
   $type = $wrapper->type();
   $item_ids = array($wrapper->getIdentifier());
 
@@ -78,6 +86,10 @@
   if ($index_immediately) {
     foreach ($indexes as $index) {
       $indexed = search_api_index_specific_items_delayed($index, $item_ids);
+      if ($index_verbose) {
+        $num = count($indexed);
+        watchdog('search_api', t('Indexed @num items for index @name, type: @type, entities: @item_ids', array('@num' => $num, '@name' => $index->name, '@type' => $type, '@item_ids' => implode(', ', $item_ids))), NULL, WATCHDOG_INFO);
+      }
     }
   }
   else {
