Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. BufferingLogger.php

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\ErrorHandler

Code

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));
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal