function Database::startLog

Same name in other branches
  1. 9 core/lib/Drupal/Core/Database/Database.php \Drupal\Core\Database\Database::startLog()
  2. 8.9.x core/lib/Drupal/Core/Database/Database.php \Drupal\Core\Database\Database::startLog()
  3. 10 core/lib/Drupal/Core/Database/Database.php \Drupal\Core\Database\Database::startLog()
  4. 11.x core/lib/Drupal/Core/Database/Database.php \Drupal\Core\Database\Database::startLog()

Starts logging a given logging key on the specified connection.

Parameters

$logging_key: The logging key to log.

$key: The database connection key for which we want to log.

Return value

DatabaseLog The query log object. Note that the log object does support richer methods than the few exposed through the Database class, so in some cases it may be desirable to access it directly.

See also

DatabaseLog

5 calls to Database::startLog()
DatabaseLoggingTestCase::testEnableLogging in modules/simpletest/tests/database_test.test
Test that we can log the existence of a query.
DatabaseLoggingTestCase::testEnableMultiConnectionLogging in modules/simpletest/tests/database_test.test
Test that we can log queries separately on different connections.
DatabaseLoggingTestCase::testEnableMultiLogging in modules/simpletest/tests/database_test.test
Test that we can run two logs in parallel.
DatabaseLoggingTestCase::testEnableTargetLogging in modules/simpletest/tests/database_test.test
Test that we can log queries against multiple targets on the same connection.
DatabaseLoggingTestCase::testEnableTargetLoggingNoTarget in modules/simpletest/tests/database_test.test
Test that logs to separate targets collapse to the same connection properly.

File

includes/database/database.inc, line 1511

Class

Database
Primary front-controller for the database system.

Code

public static final function startLog($logging_key, $key = 'default') {
    if (empty(self::$logs[$key])) {
        self::$logs[$key] = new DatabaseLog($key);
        // Every target already active for this connection key needs to have the
        // logging object associated with it.
        if (!empty(self::$connections[$key])) {
            foreach (self::$connections[$key] as $connection) {
                $connection->setLogger(self::$logs[$key]);
            }
        }
    }
    self::$logs[$key]->start($logging_key);
    return self::$logs[$key];
}

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