class Log

Same name in this branch
  1. 9 core/lib/Drupal/Core/Database/Log.php \Drupal\Core\Database\Log
Same name in other branches
  1. 8.9.x core/modules/migrate/src/Plugin/migrate/process/Log.php \Drupal\migrate\Plugin\migrate\process\Log
  2. 8.9.x core/lib/Drupal/Core/Database/Log.php \Drupal\Core\Database\Log
  3. 10 core/modules/migrate/src/Plugin/migrate/process/Log.php \Drupal\migrate\Plugin\migrate\process\Log
  4. 10 core/lib/Drupal/Core/Database/Log.php \Drupal\Core\Database\Log
  5. 11.x core/modules/migrate/src/Plugin/migrate/process/Log.php \Drupal\migrate\Plugin\migrate\process\Log
  6. 11.x core/lib/Drupal/Core/Database/Log.php \Drupal\Core\Database\Log

Logs values without changing them.

The log plugin will log the values that are being processed by other plugins.

Example:


process:
  bar:
    plugin: log
    source: foo

Plugin annotation


@MigrateProcessPlugin(
  id = "log"
)

Hierarchy

Expanded class hierarchy of Log

See also

\Drupal\migrate\Plugin\MigrateProcessInterface

1 file declares its use of Log
LogTest.php in core/modules/migrate/tests/src/Unit/process/LogTest.php
17 string references to 'Log'
d6_node.yml in core/modules/node/migrations/d6_node.yml
core/modules/node/migrations/d6_node.yml
d6_node_complete.yml in core/modules/node/migrations/d6_node_complete.yml
core/modules/node/migrations/d6_node_complete.yml
d6_node_revision.yml in core/modules/node/migrations/d6_node_revision.yml
core/modules/node/migrations/d6_node_revision.yml
d6_node_translation.yml in core/modules/content_translation/migrations/d6_node_translation.yml
core/modules/content_translation/migrations/d6_node_translation.yml
d7_node.yml in core/modules/node/migrations/d7_node.yml
core/modules/node/migrations/d7_node.yml

... See full list

File

core/modules/migrate/src/Plugin/migrate/process/Log.php, line 28

Namespace

Drupal\migrate\Plugin\migrate\process
View source
class Log extends ProcessPluginBase {
    
    /**
     * {@inheritdoc}
     */
    public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
        $is_object = is_object($value);
        if (is_null($value) || is_bool($value)) {
            $export = var_export($value, TRUE);
        }
        elseif (is_float($value)) {
            $export = sprintf('%f', $value);
        }
        elseif ($is_object && method_exists($value, 'toString')) {
            $export = print_r($value->toString(), TRUE);
        }
        elseif ($is_object && method_exists($value, 'toArray')) {
            $export = print_r($value->toArray(), TRUE);
        }
        elseif (is_string($value) || is_numeric($value) || is_array($value)) {
            $export = print_r($value, TRUE);
        }
        elseif ($is_object && method_exists($value, '__toString')) {
            $export = print_r((string) $value, TRUE);
        }
        else {
            $export = NULL;
        }
        $class_name = $export !== NULL && $is_object ? $class_name = get_class($value) . ":\n" : '';
        $message = $export === NULL ? "Unable to log the value for '{$destination_property}'" : "'{$destination_property}' value is {$class_name}'{$export}'";
        // Log the value.
        $migrate_executable->saveMessage($message);
        // Pass through the same value we received.
        return $value;
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
Log::transform public function Performs the associated process. Overrides ProcessPluginBase::transform
PluginInspectionInterface::getPluginDefinition public function Gets the definition of the plugin implementation. 6
PluginInspectionInterface::getPluginId public function Gets the plugin_id of the plugin instance. 2
ProcessPluginBase::multiple public function Indicates whether the returned value requires multiple handling. Overrides MigrateProcessInterface::multiple 3

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.