o365-2.0.3/src/O365LoggerService.php

src/O365LoggerService.php
<?php

namespace Drupal\o365;

use Drupal\Core\Logger\LoggerChannelFactoryInterface;
use Drupal\Core\Messenger\Messenger;
use Drupal\Core\StringTranslation\TranslatableMarkup;
use Psr\Log\LoggerInterface;

/**
 * Our custom Logger service.
 */
class O365LoggerService implements O365LoggerServiceInterface {

  /**
   * Drupal\Core\Logger\LoggerChannelFactoryInterface definition.
   */
  protected LoggerChannelFactoryInterface $loggerFactory;

  /**
   * The logger channel.
   */
  protected LoggerInterface $logger;

  /**
   * The drupal messenger.
   */
  protected Messenger $messenger;

  /**
   * Constructs a new O365LoggerService object.
   *
   * @param \Drupal\Core\Logger\LoggerChannelFactoryInterface $logger_factory
   *   The LoggerChannelFactoryInterface definition.
   * @param \Drupal\Core\Messenger\Messenger $messenger
   *   The Messenger definition.
   */
  public function __construct(LoggerChannelFactoryInterface $logger_factory, Messenger $messenger) {
    $this->loggerFactory = $logger_factory;
    $this->logger = $this->loggerFactory->get('o365');
    $this->messenger = $messenger;
  }

  /**
   * {@inheritdoc}
   */
  public function log($message, $severity) {
    $this->logger->log($severity, $message);
    $this->showDrupalMessage($message, $severity);
  }

  /**
   * {@inheritdoc}
   */
  public function debug(TranslatableMarkup $message) {
    $this->logger->debug($message);
  }

  /**
   * Render a drupal message.
   *
   * @param \Drupal\Core\StringTranslation\TranslatableMarkup|string $message
   *   The message to print.
   * @param string $severity
   *   The severity of the message.
   */
  private function showDrupalMessage($message, string $severity) {
    if ($severity === 'error') {
      $this->messenger->addError($message);
    }
    else {
      $this->messenger->addMessage($message);
    }
  }

}

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

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