solrlog-1.0.1/src/EventSubscriber/TerminateSubscriber.php

src/EventSubscriber/TerminateSubscriber.php
<?php

namespace Drupal\solrlog\EventSubscriber;

use Drupal\solrlog\DelayedLoggerInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\TerminateEvent;
use Symfony\Component\HttpKernel\KernelEvents;

/**
 * Dump log messages to solr in the end of request.
 *
 * @package Drupal\solrlog\EventSubscriber
 */
class TerminateSubscriber implements EventSubscriberInterface {

  /**
   * TerminateSubscriber constructor.
   *
   * @param \Drupal\solrlog\DelayedLoggerInterface $delayedLogger
   *   The logger.
   */
  public function __construct(
    protected DelayedLoggerInterface $delayedLogger) {
  }

  /**
   * {@inheritdoc}
   */
  public static function getSubscribedEvents() {
    return [
      KernelEvents::TERMINATE => [
        ['onTerminate', 100],
      ],
    ];
  }

  /**
   * Dump delayed log messages.
   *
   * @param \Symfony\Component\HttpKernel\Event\TerminateEvent $event
   *   The terminate request event.
   */
  public function onTerminate(TerminateEvent $event) : void {
    $this->delayedLogger->dump();
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc