You are here

function syslog_advanced_watchdog in Advanced syslog 7

Implements hook_watchdog().

File

./syslog_advanced.module, line 214
Redirects logging messages to syslog.

Code

function syslog_advanced_watchdog(array $log_entry) {
  global $base_url;
  _syslog_advanced_init_log();

  // Check the severity filter to see if this message is allowed. We must load
  // common.inc before calling functions from it, since hook_watchdog() can be
  // invoked early in the bootstrap.
  require_once DRUPAL_ROOT . '/includes/common.inc';
  _syslog_advanced_autoadd($log_entry['type']);
  if (_syslog_advanced_is_allowed($log_entry['type'], $log_entry['severity'])) {
    $message = strtr(variable_get('syslog_advanced_format', '!base_url|!timestamp|!type|!ip|!request_uri|!referer|!uid|!link|!message'), array(
      '!base_url' => $base_url,
      '!timestamp' => $log_entry['timestamp'],
      '!type' => $log_entry['type'],
      '!ip' => $log_entry['ip'],
      '!request_uri' => $log_entry['request_uri'],
      '!referer' => $log_entry['referer'],
      '!uid' => $log_entry['uid'],
      '!link' => strip_tags($log_entry['link']),
      '!message' => strip_tags(!isset($log_entry['variables']) ? $log_entry['message'] : strtr($log_entry['message'], $log_entry['variables'])),
    ));
    syslog($log_entry['severity'], $message);
  }
}