function BufferingLogger::__destruct
File
-
vendor/
symfony/ error-handler/ BufferingLogger.php, line 48
Class
- BufferingLogger
- A buffering logger that stacks logs for later.
Namespace
Symfony\Component\ErrorHandlerCode
public function __destruct() {
foreach ($this->logs as [
$level,
$message,
$context,
]) {
if (str_contains($message, '{')) {
foreach ($context as $key => $val) {
if (null === $val || \is_scalar($val) || $val instanceof \Stringable) {
$message = str_replace("{{$key}}", $val, $message);
}
elseif ($val instanceof \DateTimeInterface) {
$message = str_replace("{{$key}}", $val->format(\DateTimeInterface::RFC3339), $message);
}
elseif (\is_object($val)) {
$message = str_replace("{{$key}}", '[object ' . get_debug_type($val) . ']', $message);
}
else {
$message = str_replace("{{$key}}", '[' . \gettype($val) . ']', $message);
}
}
}
error_log(\sprintf('%s [%s] %s', date(\DateTimeInterface::RFC3339), $level, $message));
}
}