You are here

trait TransformerLoggingTrait in Facebook Instant Articles 8.2

Useful when you are making use of the FBIA Transformer.

Hierarchy

2 files declare their use of TransformerLoggingTrait
FieldItemListNormalizer.php in src/Normalizer/FieldItemListNormalizer.php
TransformerFormatter.php in src/Plugin/Field/FieldFormatter/TransformerFormatter.php

File

src/TransformerLoggingTrait.php, line 11

Namespace

Drupal\fb_instant_articles
View source
trait TransformerLoggingTrait {

  /**
   * FBIA SDK transformer object.
   *
   * @var \Drupal\fb_instant_articles\Transformer
   */
  protected $transformer;

  /**
   * Logger for transformer messages.
   *
   * @var \Psr\Log\LoggerInterface
   */
  protected $logger;

  /**
   * Config factory service.
   *
   * @var \Drupal\Core\Config\ConfigFactoryInterface
   */
  protected $configFactory;

  /**
   * Set the transformer log level according to the FBIA setting.
   */
  protected function setTransformerLogLevel() {
    if ($log_level = $this->configFactory
      ->get('fb_instant_articles.settings')
      ->get('transformer_logging_level')) {
      TransformerLog::setLevel($log_level);
    }
    else {
      TransformerLog::setLevel(TransformerLog::ERROR);
    }
  }

  /**
   * Store the transformer logs if any.
   */
  protected function storeTransformerLogs() {
    $level_map = [
      TransformerLog::DEBUG => LogLevel::DEBUG,
      TransformerLog::ERROR => LogLevel::ERROR,
      TransformerLog::INFO => LogLevel::INFO,
    ];
    if ($logs = $this->transformer
      ->getLogs()) {
      foreach ($logs as $log) {
        $this->logger
          ->log($level_map[$log
          ->getLevel()], $log
          ->getMessage());
      }
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
TransformerLoggingTrait::$configFactory protected property Config factory service.
TransformerLoggingTrait::$logger protected property Logger for transformer messages.
TransformerLoggingTrait::$transformer protected property FBIA SDK transformer object.
TransformerLoggingTrait::setTransformerLogLevel protected function Set the transformer log level according to the FBIA setting.
TransformerLoggingTrait::storeTransformerLogs protected function Store the transformer logs if any.