public function SysLog::log in Drupal 9
Same name and namespace in other branches
- 8 core/modules/syslog/src/Logger/SysLog.php \Drupal\syslog\Logger\SysLog::log()
Overrides RfcLoggerTrait::log
File
- core/
modules/ syslog/ src/ Logger/ SysLog.php, line 63
Class
- SysLog
- Redirects logging messages to syslog.
Namespace
Drupal\syslog\LoggerCode
public function log($level, $message, array $context = []) {
global $base_url;
$format = $this->config
->get('format');
// If no format is configured then a message will not be written to syslog
// so return early. This occurs during installation of the syslog module
// before configuration has been written.
if (empty($format)) {
return;
}
// Ensure we have a connection available.
$this
->openConnection();
// Populate the message placeholders and then replace them in the message.
$message_placeholders = $this->parser
->parseMessagePlaceholders($message, $context);
$message = empty($message_placeholders) ? $message : strtr($message, $message_placeholders);
$entry = strtr($format, [
'!base_url' => $base_url,
'!timestamp' => $context['timestamp'],
'!type' => $context['channel'],
'!ip' => $context['ip'],
'!request_uri' => $context['request_uri'],
'!referer' => $context['referer'],
'!severity' => $level,
'!uid' => $context['uid'],
'!link' => strip_tags($context['link']),
'!message' => strip_tags($message),
]);
$this
->syslogWrapper($level, $entry);
}