function dblog_watchdog

Implements hook_watchdog().

Note: Some values may be truncated to meet database column size restrictions.

5 calls to dblog_watchdog()
DBLogTestCase::generateLogEntries in modules/dblog/dblog.test
Generates a number of random database log events.
DBLogTestCase::testDBLogAddAndClear in modules/dblog/dblog.test
Tests the addition and clearing of log events through the admin interface.
DBLogTestCase::testDBLogCorrupted in modules/dblog/dblog.test
Tests corrupted log entries can still display available data.
DBLogTestCase::testDBLogException in modules/dblog/dblog.test
Verifies that exceptions are caught in dblog_watchdog().
DBLogTestCase::testLogMessageSanitized in modules/dblog/dblog.test
Make sure HTML tags are filtered out in the log detail page.

File

modules/dblog/dblog.module, line 146

Code

function dblog_watchdog(array $log_entry) {
    if (!function_exists('drupal_substr')) {
        require_once DRUPAL_ROOT . '/includes/unicode.inc';
    }
    try {
        Database::getConnection('default', 'default')->insert('watchdog')
            ->fields(array(
            'uid' => $log_entry['uid'],
            'type' => drupal_substr($log_entry['type'], 0, 64),
            'message' => $log_entry['message'],
            'variables' => serialize($log_entry['variables']),
            'severity' => $log_entry['severity'],
            'link' => drupal_substr($log_entry['link'], 0, 255),
            'location' => $log_entry['request_uri'],
            'referer' => $log_entry['referer'],
            'hostname' => drupal_substr($log_entry['ip'], 0, 128),
            'timestamp' => $log_entry['timestamp'],
        ))
            ->execute();
    } catch (Exception $e) {
        // Exception is ignored so that watchdog does not break pages during the
        // installation process or is not able to create the watchdog table during
        // installation.
    }
}

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